Я пытаюсь добавить массив элементов управления на страницу aspx (код C # позади).Это аналогичные элементы управления (критерии поиска для отдельных полей, но они будут иметь одинаковые значения).Значения выпадающего элемента управления в настоящее время устанавливаются в методе Page_Load, например:
protected void Page_Load(object sender, EventArgs e) {
ListItem[] items = new ListItem[3];
//these values are actually set by a database query
items[0] = new ListItem('Apple', 'Apple');
items[1] = new ListItem('Orange', 'Orange');
items[2] = new ListItem('Banana', 'Banana');
FruitDropDown.Items.AddRange(items);
FruitDropDown.DataBind();
}
, затем на странице у меня появляется следующий элемент управления:
<asp:DropDownList ID="FruitDropDown" runat="server"/>
. Это работает нормально и заполняет элемент, но теперь я хочу создать массив этих выпадающих списков - их будет 20, поэтому я не хочу создавать его 20 раз в методе Page_Load.Должен ли я добавить выпадающий список в список, а затем сделать что-то вроде:
<asp:DropDownList ID="FruitDropDown[0]" runat="server"/>
<asp:DropDownList ID="FruitDropDown[1]" runat="server"/>
Как бы я пометил их на странице и затем смог бы получить доступ к этим значениям в контроллере?Могу ли я сделать что-то вроде этого, если я уже добавил эти именованные элементы управления на страницу aspx?
protected void Page_Load(object sender, EventArgs e) {
ListItem[] items = new ListItem[3];
//these values are actually set by a database query
items[0] = new ListItem('Apple', 'Apple');
items[1] = new ListItem('Orange', 'Orange');
items[2] = new ListItem('Banana', 'Banana');
for (int x = 0; x < 20; x++) {
FruitDropDown[x].Items.AddRange(items);
FruitDropDown[x].DataBind();
}
Требуется ли также копирование и вставка элементов управления на странице aspx 20 раз?Что если он расширится до 100?Могу ли я добавить их в цикле на странице aspx?