如何更改控件的值,例如用户控件中的文字和用户控件在母版页中,我想从内容页面更改该文字的值。
((System.Web.UI.UserControl)this.Page.Master.FindControl("ABC")).FindControl("XYZ").Text = "";
这里ABC是用户控制,XYZ是Literal控制。
答案 0 :(得分:5)
最佳解决方案是通过公共属性公开值。
将以下内容放入包含ABC
控件的XYZ
控件中:
public string XYZText
{
get
{
return XYZControl.Text;
}
set
{
XYZControl.Text= value;
}
}
现在,您可以通过将以下属性添加到MasterPage来从Master页面公开它:
public string ExposeXYZText
{
get
{
return ABCControl.XYZText;
}
set
{
ABCControl.XYZText = value;
}
}
然后要从任何内容页面使用它,只需执行以下操作(其中MP
是MasterPage
类):
string text = ((MP)Page.Master).ExposeXYZText;
((MP)Page.Master).ExposeXYZText = "New Value";