需要Global.MasterPageClassName的内容页面和设计师每次重新打开页面时都会将其恢复

时间:2014-03-26 00:30:29

标签: asp.net vb.net

我有一个简单的母版页定义如下:

Public Class AppUIMasterPage
Inherits System.Web.UI.MasterPage

然后我有一个内容页面的基类:

Public MustInherit Class AppUIBase
Inherits System.Web.UI.Page

然后是母版页标签:

<%@ Master Language="VB" AutoEventWireup="false" CodeBehind="my.master.vb" Inherits="AppUI.AppUIMasterPage" %>

在内容页面上:

 Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/my.Master" CodeBehind="somecontentpage.aspx.vb" Inherits="AppUI.viewprocedure" %>

内容代码隐藏

Public Class viewprocedure
Inherits AppUIBase

设计师会自动插入以下内容:

 '''<summary>
'''Master property.
'''</summary>
'''<remarks>
'''Auto-generated property.
'''</remarks>
Public Shadows ReadOnly Property Master() As AppUI.AppUIMasterPage
    Get
        Return CType(MyBase.Master, AppUI.AppUIMasterPage)
    End Get
End Property

当我尝试构建编译器时抛出错误并且intellisense要我将AppUI.AppUIMasterPage更改为:Global.AppUI.AppUIMasterPage

我不确定为什么会这样做,如果这只是一个简单的改变我会好的,但每次我关闭并重新打开页面VS改变它并在我构建之前我有再次改变它。

2 个答案:

答案 0 :(得分:1)

我相信如果您使用带有空字符串的System.ComponentModel.DesignerCategory属性作为参数,设计器将停止尝试自动弄乱您的文件。

参考:Disable designer in Visual Studio?

答案 1 :(得分:0)

虽然禁用设计器是一种方法,但更好的方法是重命名类,使设计师不再感到困惑。找到并替换是我这样做的最好朋友。

如果基类名称混淆了设计器,则只会出现此问题。