私があなたを正しく理解していれば、ドロップダウンリストのオプションに何らかのスタイルを適用しようとします。この場合、ドロップダウン リスト アイテム コレクション内のすべてのアイテムにスタイルを追加する必要があります。';' などのセパレータを使用して名前に保存できるアイテム スタイル "color:red; YourItem Name" (NB しかし、それは良い考えではないと思います)
foreach(ListItem item in ddl.Items)
{
string[] data=item.Text.Split(';');
item.Attributes.Add("style", data[0]);
item.Text=data[1];
}
たとえばPage_PreRenderでそれを行うことができます。ただし、すべてのブラウザーがタグ オプションのスタイル属性を正しくサポートしているわけではないため、注意が必要です。
サーバー側から不要な html タグを削除します。
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(@"(<.+>)\b|(<\/.+>)");
foreach(ListItem item in ddl.Items)
{
item.Text=reg.Replace(item.Text," ");
}
データソースでこの置換を行うことができますが、どのタイプのこれを使用しているのかわかりません
javascript を使用してクライアント側から不要な html タグを削除する場合:
Jquery を使用したソリューション
function RemoveUnwantedHTMLTag()
{
$('select:[id*="elementSelectId"] > option').each(function(){var _self=$(this); _self.text(_self.text().replace(/<[^>]+>/g,' '));});
}
Jquery なし
function RemoveUnwantedHTMLTag()
{
var _arr=document.getElementById('elementSelectId').childNodes;
for (var i=0;i<_arr.length;i++)
{
if(_arr[i].text!=undefined)
{ _arr[i].text=(_arr[i].text).replace(/<[^>]+>/g,' ');
_arr[i].value=(_arr[i].value).replace(/<[^>]+>/g,' ');
}
}
}
ページの読み込み時に JavaScript 関数を開始します。
Jクエリ
$(documet).ready{RemoveUnwantedHTMLTag();}
jqueryなし
document.body.onload=function(){RemoveUnwantedHTMLTag();}
ページに Sys オブジェクトが存在する場合 (このメソッドは、ドロップダウン リストが更新パネル内にある場合に役立ちます)
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(RemoveUnwantedHTMLTag);
cs ファイル内のすべてのコード:
protected void Page_PreRender(object sender, EventArgs e){
if (!this.Page.ClientScript.IsStartupScriptRegistered("RemoveUnwantedHTMLTag")
{
string script = @"function RemoveUnwantedHTMLTag()
{
var _arr=document.getElementById('"+ddlcategory.ClientID+"').childNodes;
for (var i=0;i<_arr.length;i++)
{ if(_arr[i].text!=undefined)
{ _arr[i].text=(_arr[i].text).replace(/<[^>]+>/g,' ');
_arr[i].value=(_arr[i].value).replace(/<[^>]+>/g,' ');// if text is same with value
}
}
}
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(RemoveUnwantedHTMLTag); ";
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "RemoveUnwantedHTMLTag", script, true);
}
}