【发布时间】:2019-10-24 00:37:33
【问题描述】:
Web 用户控件 (.ascx) 上有一个下拉列表。 我在页面后面的 aspx 代码上绑定 DropDown 列表控件。我已经尝试在 Load , PreLoad 事件中绑定它,但回发后它只是空的。我尝试了启用视图状态选项,但没有运气。
我在 web 用户控件中有一个绑定下拉列表的方法,我从使用这个 web 用户控件的主 aspx 代码中调用它。
.ascx
public void FillDropDownList(string divisionCode, Int32 webEvevntID)
{
DataSet dsDist = GetData(divisionCode, webEvevntID);
ddlDist.DataSource = dsDist.Tables(0);
ddlDist.DataTextField = "DistributorName";
ddlDist.DataValueField = "DistNum";
ddlDist.DataBind();
}
.aspx c#
private void Order_PreRender(object sender, EventArgs e)
{
FillDropDownList();
}
【问题讨论】:
-
你是否也在页面加载... if (!Page.IsPostBack) { FillDropDownList(...) } ?如果不是,您的重新绑定将再次从同一状态开始。
-
我认为您需要在
Page_Init上加载控件。 -
Page_Init 仅在动态加载控件时才有帮助,以便可以将视图状态恢复到它。
标签: c# asp.net webusercontrol