`
ljzforever
  • 浏览: 117535 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

vs2005中母版页嵌套时无法切换到设计视图的解决办法

阅读更多

假设有母版页第一级母版页MasterPage.master,第二级母版页MasterPage2.master是MasterPage.master的内容页,Default.aspx是MasterPage2.master的内容页,一般情况下Default.aspx是打不开设计视图的(MasterPage2.master也打不开,但无法解决),在网上找了找,有两种解决办法:

1.首先新增一个类:BasePage.cs

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指令:

 修改前: 

<%@ 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

 

 经过以上三步的修改,就可以打开Default.aspx的设计视图了

 

2.其实还有更简单的一种方法:

就是在Default.aspx的Page指令的MasterPageFile="MasterPage2.master" 的反引号前多加个空格

 修改前: 

<%@ Page Language="C#" MasterPageFile="MasterPage2.master" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %> 

 修改后:

<%@ Page Language="C#" MasterPageFile="MasterPage2.master " AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

 

 

这样就可以打开Default.aspx的设计视图了

 

在第一种方法中

MasterPageFile值为空,意思是编辑时无母版页,RuntimeMasterPageFile值是嵌套母版页,意思是运行时有母版页,CodeFileBaseClass的意思是你的页面类继承自:BasePage。如果不加CodeFileBaseClass,则会报错,因为RuntimeMasterPageFile不是Page的默认指令。

第二种方法则是取了个巧,其实,在后面加任何一个字母都可以。也就是说,在切换视图的时候,只要保证和正确的母版页地址有错误,那么就能够切换。但是用其他字母会造成无法运行的情况,因为加了其他字母,也就是换成了别的母版页,而实际并不存在这个母版页。而用空格的话,它在运行时,去找母版页的时候,是做了一个TRIM的动作,去掉了空格。所以,加空格即可以切换也可以运行。

 

在打开 Default.aspx的设计视图时可能不是按照你想象中的顺序排的,不用管他,它在运行的时候会自动排好的!

 

Demo下载:

http://ljzforever.qupan.com/?folder=951925 

 

参考的文章:

VS2005中显示使用嵌套母版的设计视图

http://blog.csdn.net/sdtsfhh/archive/2008/07/02/2604335.aspx

Tips for Nested Master Pages and VS 2005 Design-Time

http://weblogs.asp.net/scottgu/archive/2005/11/11/430382.aspx

VS2005的关于母版页嵌套的一个小技巧

http://xjhami.bokee.com/viewdiary.17350816.html

分享到:
评论

相关推荐

    母版页嵌套母版页通信

    在ASP.NET Web Forms框架中,母版页(Master Page)是一种强大的布局工具,它允许开发者创建统一的页面布局,而内容页(Content Page)则可以插入到母版页中,提供具体的页面内容。本示例代码着重展示了如何实现母版...

    关于Visual studio 2015中使用母版页(masterpage)的例子

    本文将深入探讨在Visual Studio 2015中如何使用母版页,以及如何创建嵌套母版页。 首先,我们来理解母版页的基本概念。母版页是一个特殊的ASP.NET网页,其中包含了一个网页的通用布局,如头部、底部、侧边栏等元素...

    VS2008(C#)中的ASP.NET子页嵌套多层母版页的控件访问方法

    以上就是VS2008(C#)中ASP.NET子页嵌套多层母版页的控件访问方法。正确理解和应用这些技术,可以帮助开发者构建更加灵活且易于维护的Web应用程序。在实际开发中,应根据项目的具体需求选择合适的方法,确保代码的...

    母版页制作流程(完整版)

    2. 切换到各内容页的设计视图,在相应的页面中的 ContentPlaceHolder1 中输入内容,例如“Default2 页面”。 3. 在母版页源视图中加一层 div。 4. 切换到设计视图,从“工具箱”的“导航”一栏中拖一个“Menu”到...

    Asp.net-vs2005,创建母版页_源代码_实例

    在这个主题中,我们将深入探讨如何在VS2005中创建母版页以及相关源代码实例。 **母版页(Master Pages)**是ASP.NET中的一个重要概念,它允许开发人员定义一个统一的布局模板,这个模板可以被多个内容页面(Content...

    asp.net 嵌套母版页(实例演示)

    asp.net 嵌套母版页(实例演示) 包含有母版页、嵌套母版页、2个内容页可以直观的看到嵌套母版页应用的效果。

    net母版页设置详解

    2. **事件处理**:母版页和内容页都可以处理各自的事件,如果内容页的控件需要调用母版页的方法,可以通过`FindControl`方法获取到母版页的控件实例,然后进行操作。 3. **嵌套母版页**:一个母版页可以嵌套另一个...

    母版页应用

    在设计视图中,可以直接拖放控件到母版页的占位符,同时在内容页中可以看到预览效果。 5. **动态内容的处理** 对于需要根据用户或页面特定情况变化的元素,可以在内容页的`&lt;asp:Content&gt;`块中覆盖母版页的相应...

    asp.net2.0母版页技术

    9. **动态母版页**:在运行时,可以通过编程方式将内容页与不同的母版页关联,从而实现动态布局切换。 10. **SEO优化**:母版页技术有助于提高搜索引擎优化(SEO),因为所有的内容页都可以共享相同的头部信息,...

    ASP.NET母版页

    7. **调试和优化**:在VS08中,开发者可以通过调试工具查看母版页和内容页的嵌套关系,以及它们如何交互。此外,合理使用母版页可以减少代码重复,提高网站性能。 通过以上知识点,我们可以看出ASP.NET母版页在网站...

    vs2008 使用母版页\主题,控制网站风格

    在ASP.NET web开发中,创建一致且易于管理的网站风格是一项关键任务,这可以通过使用母版页(Master Pages)和主题(Themes)来实现。母版页提供了网页布局的统一框架,而主题则允许快速应用全局外观和感觉。在本...

    母版页的使用方法包括母版页值传递等等

    在创建子页面时,我们需要选择对应的母版页,并在子页面中使用`&lt;asp:Content&gt;`控件填充母版页中的`ContentPlaceHolder`。子页面的`.aspx`文件将包含母版页的代码,并且可以在特定的`Content`控件中添加自定义内容。 ...

    引用asp.net母版页后,母版页和内容页的页面事件执行顺序

    在ASP.NET Web应用程序中,母版页(Master Page)是一种强大的功能,它允许开发者创建一个统一的布局模板,用于多个内容页(Content Page)。当一个内容页引用了母版页,它们之间的事件处理顺序就变得至关重要,因为...

    母版页的使用母版页的使用

    母版页(Master Page)的概念类似于网页设计中的模板,它可以包含一些全局性的元素,如头部导航、页脚信息、侧边栏等,而子页面则可以专注于其特有的内容展示。 在ASP.NET中,母版页的主要优点包括: 1. **样式和...

    ASP.NET 2.0创建母版页引来的麻烦-js无用

    从给定的文件信息来看,主要讨论的是在ASP.NET 2.0中使用母版页(Master Page)时遇到的问题,具体是JavaScript无法在页面上正常工作,导致预期的功能无法实现。下面将深入分析这个问题,并提供可能的解决方案。 ### ...

    很好用的母版页

    母版页(Master Page)是ASP.NET框架中的一个重要概念,它是网页设计中的一种布局机制,旨在提供统一的页面结构和风格,从而简化网站开发过程。母版页允许开发者定义一个公共头部、尾部或者侧边栏,这些元素在每个...

    使用模板页后内容页中控件查找

    在ASP.NET Web开发中,母版页(Master Page)是一种非常实用的设计模式,它可以帮助开发者快速构建具有统一外观和布局的多个页面。这种模式允许开发者定义一个共享的布局框架,并在这个框架内嵌入具体的页面内容。...

    导航控件与母版页 实验

    在ASP.NET web开发中,导航控件和母版页是构建高效、统一用户界面的关键工具。本实验旨在帮助学生深入理解和熟练运用这两种技术。 **导航控件**是ASP.NET提供的一种方便用户在网站中导航的组件,它们可以是菜单、树...

    一个简易的网站 用了母版页

    标题中的“一个简易的网站 用了母版页”表明这个项目是一个初级级别的网站开发实例,其中使用了ASP.NET中的母版页(Master Page)技术。母版页是.NET框架提供的一种强大工具,允许开发者创建一致的布局和设计,应用...

Global site tag (gtag.js) - Google Analytics