gpt4 book ai didi

c# - 如何从 App_Code 引用 ASP.net MasterPage

转载 作者:太空狗 更新时间:2023-10-30 00:47:31 26 4
gpt4 key购买 nike

我正在开发 .net 3.5 站点,标准网站项目。

我在站点 App_Code 文件夹 (MyPage) 中编写了一个自定义页面类。

我还有一个带有属性的母版页。

public partial class MyMaster : System.Web.UI.MasterPage
{
...
private string pageID = "";

public string PageID
{
get { return pageID; }
set { pageID = value; }
}
}

我正在尝试从 MyPage 中的属性引用此属性。

public class MyPage : System.Web.UI.Page
{
...
public string PageID
{
set
{
((MyMaster)Master).PageID = value;
}
get
{
return ((MyMaster)Master).PageID;
}
}
}

我最终得到“无法找到类型或 namespace 名称‘MyMaster’。我通过使用 FindControl() 而不是 MyMaster 页面上的属性让它工作,但母版页面中的 ID 可能会改变。

最佳答案

我倾向于对网站项目执行以下操作:

在 App_Code 中创建以下内容:

BaseMaster.cs

using System.Web.UI;

public class BaseMaster : MasterPage
{
public string MyString { get; set; }
}

BasePage.cs:

using System;
using System.Web.UI;

public class BasePage : Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (null != Master && Master is BaseMaster)
{
((BaseMaster)Master).MyString = "Some value";
}
}
}

然后我的母版页继承自 BaseMaster:

using System;

public partial class Masters_MyMasterPage : BaseMaster
{
protected void Page_Load(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(MyString))
{
// Do something.
}
}
}

我的页面继承自 BasePage:

public partial class _Default : BasePage

关于c# - 如何从 App_Code 引用 ASP.net MasterPage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/495245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com