好的,我觉得我错过了一些非常简单的东西。我有一个ASP.NET DropDownList控件:
<asp:DropDownList ID="rightColumnDropDownList" runat="server"></asp:DropDownList>
在后面的代码中,我有(简化,但仍有问题):
protected override void OnPreRender(EventArgs e)
{
ListItemCollection options = new ListItemCollection();
options.Add(new ListItem("name", "value"));
this.rightColumnDropDownList.DataSource = options;
this.rightColumnDropDownList.DataBind();
}
但是,生成的HTML所包含的选项包含选项元素的值和文本的“名称”。
<option value="name">name</option>
我在这里缺少什么?我也试过这个无济于事:
options.Add(new ListItem(){ Text= "name", Value = "value"});
答案 0 :(得分:11)
options.Add(new ListItem { Text= "name", Value = "value"});
然后尝试指定DataValueField和DataTextField属性:
leftColumnDropDownList.DataValueField = "Value";
leftColumnDropDownList.DataTextField = "Text";
答案 1 :(得分:3)
您可以使用以下代码:
dropDownList.Items.Add(new ListItem("text", "value"));
答案 2 :(得分:1)
你也可以这样做:
leftColumnDropDownList.Items.Add("name", "value");
此外,您的标记显示ID为rightColumnDropDownList
且代码引用leftColumnDropDownList
,但在编写问题时可能会出错。