ASP.NET DropDownBox对Text和Value属性都有“Text”

时间:2011-04-11 21:42:03

标签: asp.net c#-4.0

好的,我觉得我错过了一些非常简单的东西。我有一个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"});

3 个答案:

答案 0 :(得分:11)

options.Add(new ListItem { Text= "name", Value = "value"});

然后尝试指定DataValueFieldDataTextField属性:

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,但在编写问题时可能会出错。