从.aspx代码隐藏中访问MasterPage对象

时间:2009-07-13 18:28:33

标签: asp.net

我知道我们之前已在使用此母版页的另一个.aspx页面中完成此操作。所以我在一个新的.aspx中尝试了这个,但由于某种原因,它没有识别Master对象。并且.aspx肯定会正确设置到页面指令中的母版页,并且没有任何错误:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;

public partial class LandingPage : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Master.HideNavbar();
    }
}

2 个答案:

答案 0 :(得分:3)

尝试在您的aspx文件中引用您的母版页:

<%@ MasterType virtualpath="~/YourMasterPage.master" %>

答案 1 :(得分:1)

要在代码中获取键入的母版页类,您需要在页面指令或页面上的MasterType指令中定义它的类型:

<%@ Page  masterPageFile="~/MasterPage.master"%>

<%@ MasterType  virtualPath="~/MasterPage.master"%>

如果您没有这些指令,则始终可以在代码中转换Master属性:

(MasterPage)this.Master

另见这里 http://msdn.microsoft.com/en-us/library/c8y19k6h.aspx

编辑:
是HideNavbar()方法public?