代码之家  ›  专栏  ›  技术社区  ›  Azhar

如何更改母版页中控件的值?

  •  2
  • Azhar  · 技术社区  · 15 年前

    如何更改控件的值,例如用户控件中的文本,而该用户控件位于母版页中,我希望从内容页更改该文本的值。

    ((System.Web.UI.UserControl)this.Page.Master.FindControl("ABC")).FindControl("XYZ").Text = "";
    

    这里abc是用户控件,xyz是文本控件。

    1 回复  |  直到 12 年前
        1
  •  5
  •   djdd87    15 年前

    最好的解决方案是通过公共属性公开值。

    将以下内容放入 ABC 控件包含 XYZ 控制:

    public string XYZText
    {
        get
        {
            return XYZControl.Text;
        }
        set
        {
           XYZControl.Text= value;
        }
    }
    

    现在,您可以通过将以下属性添加到母版页来从母版页公开此内容:

    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";
    
    推荐文章