【发布时间】:2011-12-06 11:40:24
【问题描述】:
我正在尝试将一组控件添加到一个 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 个,所以我不想在 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页面上循环添加吗?
【问题讨论】:
标签: c# asp.net arrays controls