强制IsPostBack在控件中变为false.添加(新控件);



我使用ASP。. NET 3.5和WebForms + jQuery,当我在运行时使用按钮单击事件添加UserControl (ACSX)时,自定义ACSX中的事件page_load在IsPostBack中显示false,因此当它发生时,控件内的自定义控件无法初始化。然后通过jQueryUI在模态对话框中显示acsx。模态

任何想法如何强制IsPostBack为假,在控制负载?

问候。

你可以添加一个与IsPostBack一起工作的会话变量,即

正在创建控件(代码)的控件

Session["reload"] = true;
placeholder.Controls.Add(LoadControl("~/path/to/control.ascx"));

用户控件代码
protected void Page_Load(object sender, EventArgs e){
    var reload = Session["reload"];
    if(!IsPostback || (reload != null && (bool)reload))
    {
      Session["reload"] = null;//reset the session var
      //do load
    }
}

稍微修改一下,可以根据需要重新加载

最新更新