如何从内容页面访问母版页控件

Leo*_*ett 47 asp.net master-pages code-behind

我有一个母版页,其中包含状态消息的标签.我需要从不同的.aspx页面设置状态文本.如何从内容页面完成?

public partial class Site : System.Web.UI.MasterPage
{
    public string StatusNachricht
    {
        get
        {
            return lblStatus.Text;
        }
        set
        {
            lblStatus.Text = value;
        }
    }

    protected void Page_Load(object sender, EventArgs e)
    {            

    }
}
Run Code Online (Sandbox Code Playgroud)

我试过这个,但是没有成功使它工作:

public partial class DatenAendern : System.Web.UI.Page
{
    var master = Master as Site;

    protected void Page_Load(object sender, EventArgs e)
    {               
        if (master != null)
        {
            master.setStatusLabel("");
        }
    }        

    protected void grdBenutzer_RowCommand(object sender, GridViewCommandEventArgs e)
    {           
            try
            {
                //some code

                if (master != null)
                {
                    master.setStatusLabel("Passwort erfolgreich geändert.");
                }
            }
            catch (Exception ex)
            {
                if (master != null)
                {
                    master.setStatusLabel("Passwort konnte nicht geändert werden!");
                }                                       
            }
        }
    }                   
}
Run Code Online (Sandbox Code Playgroud)

Pra*_*iar 76

在MasterPage.cs文件中添加propertyLabel是这样的:

public string ErrorMessage
{
    get
    {
        return lblMessage.Text;
    }
    set
    {
        lblMessage.Text = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

在您的aspx页面上,在Page Directive下方添加以下内容:

<%@ Page Title="" Language="C#" MasterPageFile="Master Path Name"..... %>
<%@ MasterType VirtualPath="Master Path Name" %>   // Add this
Run Code Online (Sandbox Code Playgroud)

然后,在您的codebehind(aspx.cs)页面中,您可以轻松访问Label Propertytext根据需要进行设置.像这样:

this.Master.ErrorMessage = "Your Error Message here";
Run Code Online (Sandbox Code Playgroud)


DOT*_*eam 30

在"内容"页面中,您可以访问标签并设置文本,例如

这里'lblStatus'是您的母版页标签ID

Label lblMasterStatus = (Label)Master.FindControl("lblStatus");

lblMasterStatus.Text  = "Meaasage from content page";


小智 9

有用

在子页面上查找母版页控件

Label lbl_UserName = this.Master.FindControl("lbl_UserName") as Label;                    
lbl_UserName.Text = txtUsr.Text;
Run Code Online (Sandbox Code Playgroud)