我試圖添加一個控件數組到一個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