В ASP.NET DropDownBox есть «Текст» для свойств «Текст» и «Значение» - PullRequest
5 голосов
/ 12 апреля 2011

Хорошо, я чувствую, что упускаю что-то очень простое здесь. У меня есть элемент управления 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.

<option value="name">name</option>

Что мне здесь не хватает? Я тоже пытался безрезультатно:

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

Ответы [ 3 ]

11 голосов
/ 12 апреля 2011
options.Add(new ListItem { Text= "name", Value = "value"});

и попробуйте указать DataValueField и DataTextField свойства:

leftColumnDropDownList.DataValueField = "Value";
leftColumnDropDownList.DataTextField = "Text";
3 голосов
/ 12 апреля 2011

Вы можете использовать следующий код:

dropDownList.Items.Add(new ListItem("text", "value"));
1 голос
/ 12 апреля 2011

Вы также можете сделать это: leftColumnDropDownList.Items.Add("name", "value");

Кроме того, ваша разметка говорит, что идентификатор - rightColumnDropDownList, а код ссылается на leftColumnDropDownList, однако может быть ошибкой при написании вопроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...