【问题标题】:Page call its masterpage's properties and public methods页面调用其母版页的属性和公共方法
【发布时间】:2013-07-24 13:37:36
【问题描述】:

母版页中有一些数据,如标题、标题等。我想根据每个使用母版页的页面设置这些数据。

为此,我创建了一些属性,例如 public string title {get; set;},并在 masterpages 的 PageLoad() 中设置了默认值。

但是,我如何访问这些属性?据我了解,masterpage 是一个为每个页面加载实例化的类,所以我需要找到它的对象来调用它的属性。

我该怎么做?

【问题讨论】:

    标签: asp.net oop object properties master-pages


    【解决方案1】:

    Page.Master 指的是当前页面的 MasterPage。您可以将其转换为相关类型并以这种方式访问​​属性。在母版页中:

    <%@ Master Language="C#" ClassName="MasterExample" %>
    
    <script runat="server">
        public string SiteName
        {
            get { return "My Site Name"; }
        }
    </script>
    

    然后,在页面中:

    protected void Page_Load(object sender, EventArgs e)
    {
      MasterExample m = (MasterExample)Page.Master;
      mylabel.Text = m.SiteName;
    }
    

    见底部http://msdn.microsoft.com/en-us/library/system.web.ui.masterpage(v=vs.110).aspx

    【讨论】:

      【解决方案2】:

      你应该把这段代码放在设计视图中(在 html 中)

      <%@ MasterType VirtualPath="~/NameOfMasterPage.Master" %>
      

      <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true"
          CodeBehind="default.aspx.cs" Inherits="MOCKUPPROJECT._Default" EnableEventValidation="false" %>
      

      现在你可以改变它的属性了

      Master.MasterContentHolderPage="some values"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-07-15
        • 2014-11-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-10
        • 1970-01-01
        • 2010-11-06
        相关资源
        最近更新 更多