【问题标题】:Accessing MasterPage object from an .aspx code-behind从 .aspx 代码隐藏访问 MasterPage 对象
【发布时间】:2009-07-13 18:28:33
【问题描述】:

我知道我们之前已经在另一个使用此母版页的 .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();
    }
}

【问题讨论】:

    标签: asp.net


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      如果您没有这些指令,您可以随时在代码中强制转换 Master 属性:

      (MasterPage)this.Master
      

      另见此处 http://msdn.microsoft.com/en-us/library/c8y19k6h.aspx

      编辑:
      HideNavbar() 方法是公开的吗?

      【讨论】:

        猜你喜欢
        • 2014-10-29
        • 2022-11-14
        • 2020-01-17
        • 2012-07-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多