我动态添加了一个包含下拉列表的用户控件。加载用户控件会根据条件重复"I"次。现在,我需要访问下拉列表的选定项目。我创建了一个访问器函数来获取下拉列表中选定的值,但它给了我默认值,即下拉列表的"00"。
如果有人需要其他信息来解决我的问题,请问我。
动态添加用户控制:
for (int i = 0; i < 3; i++)
{
//DailyControl is a userControl
DailyControl w1 = (DailyControl)LoadControl("~/DailyControl.ascx");
//InputPanel is a panel where user control is added.
InputPanel.Controls.Add(w1);
}
DailyControl.ascx
Select the Time:
<asp:DropDownList ID="clock" runat="server">
<asp:ListItem Text="am" />
<asp:ListItem Text="pm" />
</asp:DropDownList>
DailyControl.ascx.cs//用于获取下拉的访问器函数
public string Clock
{
get
{
return clock.SelectedItem.Text.ToString();
}
}
您可以在aspx页面上使用Repeater,而不是常规添加控件。在Repeater中,您可以绑定DropDownList
(或包含DropDownList的控件)并获得
myDropDownList.SelectedValue
(或SelectedItem)