0

我的应用程序中有多个母版页。我制作了一个自定义类型并从中继承了所有母版页:

 public class MyMaster : System.Web.UI.MasterPage
{
    private int myno;

    public int MyNo
    {
        get { return 50; }
        set { myno = value; }
    }

}

基本上 myno 在所有母版页中都很常见,并且母版页将在内容页中发生变化。要添加我在内容页面中添加的此属性:

<%@ MasterType TypeName=MyMaster %>

在页面上运行时出现主题错误。请指导我。

谢谢

4

2 回答 2

1

如果您在网站上工作通常应该将派生的 MasterPage 类放在应用程序的 App_Code 文件夹中。当 VS 编译您的站点时,AppCode 文件夹中的类被编译到站点的命名空间中,并可用于应用程序的代码隐藏页面。

如果您使用的是 Web应用程序,您应该能够将类文件放在站点的根目录中,并直接从项目中任何其他页面的代码隐藏中引用它,假设所有命名空间引用都是正确的。

还要确保你的Build Action类文件设置为Compile. 您可以通过在解决方案资源管理器中选择类文件在属性窗口中进行检查。

于 2012-08-24T02:39:46.687 回答
0

我刚遇到这个问题。

原来我的指令的MasterPageFile属性与我的指令Page中的不匹配。 TypeNameMasterType

换句话说,我为错误的母版页文件提供了 TypeName。哎呀!

这是该问题的演示。

<%@ Page Title="" Language="VB" MasterPageFile="~/Departments/SomeMaster.master" AutoEventWireup="false"
    CodeFile="ExamplePage.aspx.vb" Inherits="Departments_ExamplePage" Theme="Default" %>

<%@ MasterType TypeName="Departments_SomeOtherMaster" %>
于 2014-10-22T16:06:27.090 回答