如何在ASP.NET中创建基本的MasterPage类?

时间:2018-09-29 05:41:33

标签: asp.net master-pages

我正在尝试为ASP.NET中的MasterPage创建基类,以便继承结构如下:

System.Web.UI.MasterPage-> BaseMasterPage-> SiteMasterPage

BaseMasterPage将仅提供一些方法和属性,这些方法和属性在站点上的多个母版页中将是相同的,因此我认为在这里具有基类是有意义的。

来源herehere暗示我试图做的事情可能是Page类的子类,但我似乎无法使其正常工作,我我想知道关于MasterPage的事情是否阻止我这样做。

这就是我所拥有的:

Base.Master.vb(在App_Code文件夹中)

Public Class BaseMasterPage
    Inherits System.Web.UI.MasterPage

End Class

Site.Master.vb(在名为Master的文件夹中)

Public Class SiteMasterPage
    Inherits GSHolidays.BaseMasterPage

End Class

Site.master的第一行(也在Master中)

<%@ Master Language="VB" AutoEventWireup="true" CodeFile="Site.master.vb" CodeFileBaseClass="GSHolidays.BaseMasterPage" Inherits="GSHolidays.SiteMasterPage" %>

为了方便起见,我已经修改了类名,并从类中删除了内容。 GSHolidays名称空间是项目文件中定义的默认名称。

这是我遇到的错误:

在浏览器中(当导航到使用SiteMasterPage的页面时): ASP.NET Error: Make sure that the class defined in this code file matches the 'inherits' attribute, and that it extends the correct base class (e.g. Page or UserControl) 在此问题上进行了一些谷歌搜索,使我添加了CodeFileBaseClass属性(我最初没有包含该属性),该属性似乎并没有解决问题,但是在Visual Studio中添加了另一个属性-

在Visual Studio 2017中: Visual Studio 2017 ASP.NET Error: must be subtype of ???

我似乎无法在线找到有关此错误的任何信息,而且无论我做什么,该信息似乎都不会消失(除非我删除了CodeFileBaseClass属性。

我真的不确定从这儿去哪里,所以我希望你们中的一个能帮助我。我很抱歉这个问题很长,尽管希望这个问题很简单,并且有人可以指出正确的方向。预先感谢!

0 个答案:

没有答案