如何在母版页中创建变量/属性,并让子页面访问它们?

发布于 2024-08-28 17:04:51 字数 91 浏览 2 评论 0原文

如何在母版页中创建变量/属性,并让子页面访问它们?

所以我的母版将有一个字符串属性 HomeUrl

任何使用母版页的页面如何访问此属性?

How to create create variables/properties in master page, and let sub-pages access them?

So my master will have a string property HomeUrl

How can any page that uses the master page access this property?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

笑叹一世浮沉 2024-09-04 17:04:51

您应该为母版页使用一个基类,该基类将定义您的属性:

public class BaseMasterPage : System.Web.UI.MasterPage
{
    public string HomeUrl {get; set; }
}

然后您的母版页应该继承此 BaseMasterPage 类(例如):

// real master page
public partial class Common_MasterPages_Backend_Default : BaseMasterPage
{
}

之后您可以通过 访问您的属性Page.Master 属性:

BaseMasterPage baseMaster = (BaseMasterPage)Page.Master;
string homeUrl = baseMaster.HomeUrl;

来自使用此母版页的任何页面。

You should use a base class for you master page which will define you properties:

public class BaseMasterPage : System.Web.UI.MasterPage
{
    public string HomeUrl {get; set; }
}

And then your master page should inherit from this BaseMasterPage class (as example):

// real master page
public partial class Common_MasterPages_Backend_Default : BaseMasterPage
{
}

After this you can access your property through Page.Master property:

BaseMasterPage baseMaster = (BaseMasterPage)Page.Master;
string homeUrl = baseMaster.HomeUrl;

from any page which uses this master page.

苏大泽ㄣ 2024-09-04 17:04:51

您可以使用继承来做到这一点。

假设:

  • 您的 Master 名为 Med_Instrumento.Master
  • 您的 webContent 名为 Med_Instrumento1.aspx

您可以创建另一个页面(例如 Instrumentobase.aspx)并将您喜欢的所有公共/受保护属性放在那里。该页面也必须使用母版页。

之后,更改您的 Med_Instrumento1.aspx 类以从此页面继承。

例如:这是代码:
webcontentpage:

<%@ Page Language="C#" MasterPageFile="~/Med_Instrumentos.Master" AutoEventWireup="true" CodeBehind="Med_Instrumento1.aspx.cs"

背后的代码:

 public partial class Med_Instrumento1 : InstrumentoBase

基类:

<%@ Page Language="C#" MasterPageFile="~/Med_Instrumentos.Master" AutoEventWireup="true" CodeBehind="InstrumentoBase.aspx.cs" Inherits="Auscultacion.InstrumentoBase" Title="Untitled Page" %>

背后的代码:

    public partial class InstrumentoBase : System.Web.UI.Page
    {

    public string INST_Emplazamiento
    {
             get {return "Some Value"  );}
    }
    public TextBox DevolverTextBoxdeMaster(string sNombreTextBox)
          {
             TextBox Texto;
             Texto = (TextBox)Master.FindControl(sNombreTextBox);
             return Texto;
          }
}

在 Med_Instrumento1.aspx 中,您可以使用 INST_Emplazamiento 属性或 DevolverTextBoxdeMaster 方法。

You can use inheritance to do that.

Suppose this:

  • Your Master is called Med_Instrumento.Master
  • Your webContent is called Med_Instrumento1.aspx

You can create another page (say Instrumentobase.aspx) and put there all the public/protected properties you like. This page must use the masterpage as well.

After that, change your Med_Instrumento1.aspx class to inherite from this page.

For instance: here is the code:
The webcontentpage:

<%@ Page Language="C#" MasterPageFile="~/Med_Instrumentos.Master" AutoEventWireup="true" CodeBehind="Med_Instrumento1.aspx.cs"

the code behind:

 public partial class Med_Instrumento1 : InstrumentoBase

The base class:

<%@ Page Language="C#" MasterPageFile="~/Med_Instrumentos.Master" AutoEventWireup="true" CodeBehind="InstrumentoBase.aspx.cs" Inherits="Auscultacion.InstrumentoBase" Title="Untitled Page" %>

the code behind:

    public partial class InstrumentoBase : System.Web.UI.Page
    {

    public string INST_Emplazamiento
    {
             get {return "Some Value"  );}
    }
    public TextBox DevolverTextBoxdeMaster(string sNombreTextBox)
          {
             TextBox Texto;
             Texto = (TextBox)Master.FindControl(sNombreTextBox);
             return Texto;
          }
}

In your Med_Instrumento1.aspx you can use your INST_Emplazamiento property or your DevolverTextBoxdeMaster method.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文