- 584 名前:344 mailto:sage [2007/04/19(木) 16:23:20 ID:???]
- CustomWebControlを作ればいいよ
DropDownListはRenderContentsメソッド内でデータをhtmlencodeして出力しているらしい。 だからRenderContentsを↓のようにOverrideしてhtmlencodeをはずしてあげればいいはず。 public class NonHtmlEncodedDropDownList : System.Web.UI.WebControls.DropDownListを定義して protected override void RenderContents(HtmlTextWriter output) { int count = Items.Count;ListItem item;bool selected = false; for (int i = 0; i < count; i++) { item = Items[i]; output.WriteBeginTag("option"); if (item.Selected) { output.WriteAttribute("selected", "selected", false); selected = true; } output.WriteAttribute("value", item.Value, true); output.Write(">"); string text = item.Text; ←ここで本当はhtmlencodeされているハズ output.Write(text); output.WriteEndTag("option"); output.WriteLine(); } output.Write(Text); } this.NonHtmlEncodedDropDownList1_1.Items.Add(new ListItem("♥", "1")) これでハートが表示されてる。バグってたらスマソ。
|

|