我有问题;我像这样在更新面板中创建动态usercontrol; 问题是,当在Page_Load函数中创建Usercontrols时,我从usercontrol的DropDownList中选择值,我单击按钮whis在同一个usercontrol中。
当Page Post返回时,下拉列表丢失了我选择的项目。 但是当我再次从Dropdownlist中选择我的项目时,单击按钮和页面回发后,我的选定项目仍然在下拉列表中正确选择。
你知道为什么我的项目从第一篇文章后退而不是第二次回发?
背后的代码是;
protected void Page_Load(object sender, EventArgs e)
{
ShowAgePanel();
}
private void ShowAgePanel()
{
pnlChildAge.Controls.Clear();
if (ddlChild.SelectedIndex == 0) return;
for (int i = 0; i < Int32.Parse(ddlChild.SelectedValue); i++)
{
age_usercontrol _control = (age_usercontrol)LoadControl("age_usercontrol.ascx");
_control.SetInfo("Child " + (i + 1).ToString());
pnlChildAge.Controls.Add(_control);
}
}
答案 0 :(得分:0)
是的,我找到了解决方案!
只需在创建新的usercontrol时添加ID(t必须是唯一的),就像这样;
for(int i = 0; i&lt; Int32.Parse(ddlChild.SelectedValue); i ++) {
age_usercontrol _control =(age_usercontrol)LoadControl(“age_usercontrol.ascx”);
_control.ID =“AgeUserControl”+ i.ToString();
_control.SetInfo(“Child”+(i + 1).ToString()); pnlChildAge.Controls.Add(_Control);
}