用户控件和父页面的页面加载

时间:2013-01-30 13:14:37

标签: user-controls pageload

我有一个用户控件,用于显示操作消息。它隐藏在用户控件的页面加载上,因此一旦发出警告就会消失。但在某些情况下,当页面加载时,我希望用户控件可见,但不会因为隐藏在用户控件的页面加载中。我该怎么办呢?

用户控件

protected void Page_Load(object sender, EventArgs e)
{
    this.Visible = false;
}
public void SetMessage(string title, string desc)
{
    this.Visible = true;
    Title = title;
    Description = desc;
}

父页

protected void Page_Load(object sender, System.EventArgs e)
{ 
    msgDialogue.SetMessage(a);
}

1 个答案:

答案 0 :(得分:0)

根据我的理解,您需要根据页面中的属性值(或会话变量)显示或隐藏用户控件。如果是这种情况,您最好在页面中添加占位符,然后根据您的情况加载控件(或不加载它)。

if(condition)
{    
_usercontrol ctrl = LoadControl("~/usercontrols/_usercontrol.ascx") as _usercontrol;
Placeholder1.Controls.Add(ctrl);
}
//otherwise, do not load the control

希望它有所帮助。