我试图添加一个控件数组到一个aspx页面(后面的C#代码)。这些是类似的控件(单独字段的搜索条件,但将具有相同的值)。下拉控制值在Page_Load方法的当前设置,像这样:添加控件到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');
FruitDropDown.Items.AddRange(items);
FruitDropDown.DataBind();
}
然后在页面上我有这样一个控制:
<asp:DropDownList ID="FruitDropDown" runat="server"/>
这工作得很好,并填充了控制,但我想现在创建一个这些下拉列表的数组 - 将会有20个这样的下拉列表,所以我不想在Page_Load方法中创建它20次。我应该在列表中添加下拉人口,然后做一些事情,如:
<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页面的循环中吗?
因此,我必须剪切并粘贴 line 20次(或更多)并在ID中增加计数器?我可以在页面上的循环中创建它,所以我不必维护复制的代码? –
George