如何从用户控件更改母版中的控件值
本文关键字:控件 用户 | 更新日期: 2023-09-27 18:03:57
我想从用户控件中更改母版页中存在的控件值,场景如下:
在用户控制加载方法上,我使用一个名为"catID"的查询字符串参数来获取类别实体,然后我想将类别标题设置为标题标签(类别标题)的值,该标签位于母版页中。
我试图改变用户控制页面加载控制的标题,但母版页面加载方法执行得更早。
有什么想法吗?
在MasterPage中提供一个设置标题的公共方法,例如:
public void setTitle(string title)
{
this.LblTitle.Text = title;
}
然后你可以从UserControl(YourMasterPage
是MasterPage的实际类型)调用它:
((YourMasterPage)this.Page.Master).setTitle("new Title");
如果它是一个查询字符串参数,你应该能够读取"catId",即从主页后面的代码以及设置标题。
编辑:尝试一个属性然后:在用户控件
protected void Page_Load(object sender, EventArgs e)
{
this.MyTitle = "SomeTitle";
}
public string MyTitle { get; set; }
在masterpage :
protected void Page_Load(object sender, EventArgs e)
{
WebUserControl.PreRender += new EventHandler(WebUserControl_PreRender);
}
void WebUserControl_PreRender(object sender, EventArgs e)
{
string str = WebUserControl.MyTitle;
this.Header.Title = str;
}
((Label)Master.FindControl("loadlbl")).Text = "your text";