【发布时间】:2010-06-09 07:00:29
【问题描述】:
我有一个相当复杂的页面。 ASPX 页面加载一个用户控件,该控件又加载一个子用户控件。
家长控制
protected override void OnInit(EventArgs e)
{
//Loads child control
}
在子用户控件中,我使用继承自System.Web.UI.HtmlControls.HtmlSelect的自定义控件
ASCX:
<cust:CustDropDownList id="ctlDdl" runat="server"/>
ASCX.CS
protected void Page_Load(object sender, EventArgs e)
{
//Binds CtlDdl here
}
当用户单击“保存”按钮时,控件会动态重新加载用户控件,但会保留用户在下拉列表中选择的值。我在这里遇到了先有鸡还是先有蛋的问题。
我认为我需要仅在它不是回发时才绑定 ctlDdl,但这会导致下拉列表不被填充。
如果我每次都绑定它,那么我会失去用户的选择
编辑: 有人可以回复我对乔纳森回答的评论吗?谢谢
【问题讨论】:
-
检查你是否有 enableviewstate="false" 某处。确保它是真实的。检查 if(!IsPostBack) 后也加载您的控件。