我有一个简单的母版页定义如下:
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改变它并在我构建之前我有再次改变它。
答案 0 :(得分:1)
我相信如果您使用带有空字符串的System.ComponentModel.DesignerCategory属性作为参数,设计器将停止尝试自动弄乱您的文件。
答案 1 :(得分:0)
虽然禁用设计器是一种方法,但更好的方法是重命名类,使设计师不再感到困惑。找到并替换是我这样做的最好朋友。
如果基类名称混淆了设计器,则只会出现此问题。