防止从MasterPage加载ContentPlaceHolder

时间:2016-11-28 12:19:48

标签: c# asp.net webforms master-pages contentplaceholder

我有一个母版页,contentplaceholder和.ascx页面。 用户在主页上输入用户名密码。

如果用户输入错误的用户名和密码组合,我想阻止contentplaceholder的加载。目前我只是禁用它的可见性,它可以解决问题,但页面仍然被加载,进入数据库等,这是无用的,因为无论如何它们都不会被显示。

1 个答案:

答案 0 :(得分:1)

您可以加载控件dynamically

private WebUserControl1 userControl;

protected void Button1_Click(object sender, EventArgs e)
{
    if (loginOK == true)
    {
        buildControls();
    }
}

private void buildControls()
{
    userControl = (WebUserControl1)LoadControl("~/WebUserControl1.ascx");
    PlaceHolder1.Controls.Add(userControl);
}
  

需要在每个Page_load上重新创建动态添加的控件   (包括PostBack)。因此,当用户使用时,请始终致电buildControls()   已登录。