最近在学.net,下载了东西,都是用了母版页,切换不到设计视图。。问了老师终于找到办法了,之前有在网上找到说在MasterPageFile后添加个空格就行了,但是我的不行,还是错了。。
假设有母版页第一级母版页MasterPage.master,第二级母版页MasterPage2.master是MasterPage.master的内容页,Default.aspx是MasterPage2.master的内容页。
首先新增一个类:BasePage.cs
C#代码:
- using System;
- using System.Data;
- using System.Configuration;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Web.UI.HtmlControls;
- public class BasePage : System.Web.UI.Page
- {
- private string runtimeMasterPageFile;
- public string RuntimeMasterPageFile
- {
- get
- {
- return runtimeMasterPageFile;
- }
- set
- {
- runtimeMasterPageFile = value;
- }
- }
- protected override void OnPreInit(EventArgs e)
- {
- if (runtimeMasterPageFile != null)
- {
- this.MasterPageFile = runtimeMasterPageFile;
- }
- base.OnPreInit(e);
- }
- }
然后修改Default.aspx的最上面这一行代码:
修改前:
-
- <%@ Page Language="C#" MasterPageFile="MasterPage2.master" AutoEventWireup="true"
- CodeFile="Default.aspx.cs" Inherits="_Default" %>
修改后:
- <%@ Page Language="C#" MasterPageFile="" RuntimeMasterPageFile="MasterPage2.master"
- CodeFileBaseClass="BasePage" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" >
最后修改Default.aspx的后台代码:
修改前:
public partial class Demo_Default : System.Web.UI.Page
修改后:
public partial class _Default : BasePage
这样就可以打开设计视图了。。。