《ASP.NET1200例》解决母版页报错“内容控件必须是内容页中的顶级控件,或是引用母版页的嵌套母版页。”
VS2005下,添加了母版页这个控件,我们可以讲N个页面中共同的部分放在母版页来实现,并让WEB窗体集成自我们的母版页,就可以让我们的站点具有统一的风格了.
在VS2005SP1之前的版本中,我们只能创建Web网站(而不是项目),而这种方式似乎不太方便,至少在SP1出现之后有了更多的选择,新建一个WebApplication项目文件.
1.在Web网站下引用母版页
a.新建网站
b.新建母版页并添加内容;
c.新建Web窗体,选中“选择母版页”复选框,然后单击“添加”。出现“选择母版页”对话框。
d.一切很坦然地就继续了.
2.在WebApplication项目中引用母版页(SP1中才有的)
假设你按1的方法那么做:
并在3的时候添加Web窗体的话,你将无法引用母版页,也许你决定在<@page 里面添加类似MasterPageFile="~/Themes/Master/Default.Master"的句子来添加母版页,但是最后的结果通常会是:
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------
分析器错误
说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。 
分析器错误信息: 内容控件必须是内容页中的顶级控件,或是引用母版页的嵌套母版页。
源错误: 

行 10: <form id="form1" runat="server">
行 11: <div>
行 12: <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
行 13: </asp:Content>
行 14: </div>

源文件: /Test/WebForm1.aspx 行: 12 

--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.210 该如何做呢?
正确且简单的方法是:
在新建页面的时候使用"Web内容表单"而不是"Web窗体"来添加新窗体.让我们看看它们的区别:
| "新建"项目选择框内的提示有所差别 | 生成的代码有所差别 | |
| Web内容表单 | 基于母版页生成的 Web 应用程序的表单 |
<%@ Page Language="C#" MasterPageFile="~/Themes/Master/Default.Master" AutoEventWireup="true" CodeBehind="Masterpage.aspx.cs" Inherits="WebAppBlog.Test.Masterpage" Title="无标题页" %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> </asp:Content>![]() |
| Web窗体 | Web 应用程序的窗体 |
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebAppBlog.Test.WebForm1" MasterPageFile="~/Themes/Master/Default.Master"%>![]() <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">![]() <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>无标题页</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> </asp:Content> </div> </form> </body> </html>![]() |
注:您仍然可以手动去将上面的代码做一次拷贝,不过我想既然有直接可以生成的,也就没有必要再去手动写了.
以下是新建项目的窗口:

《ASP.NET1200例》解决母版页报错“内容控件必须是内容页中的顶级控件,或是引用母版页的嵌套母版页。”的更多相关文章
- 《ASP.NET1200例》实现投票的用户控件
用户控件ascx <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="24 ...
- vue解决启动报错cjs loader.js Error: Cannot find module '../config'问题
vue解决启动报错cjs loader.js Error: Cannot find module '../config'问题 今天下载了一个开源项目一直运行不了,折腾了半天才找到问题所在,config ...
- 解决MySQL报错:1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'informat
解决MySQL报错:1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'informat ...
- robotframework执行用例时,报错selenium.common.exceptions.WebDriverException: Message: unknown error: cannot get automation extension from unknown error: page could not be found: chrome-extension://aapnijgdinl
在用robotframework编写移动端测试用例(用chrome浏览器模拟手机浏览器),执行用例时, 报错selenium.common.exceptions.WebDriverException: ...
- Idea使用记录--添加Problems&&解决Autowired报错could not autowire
今天在使用Idea的时候,发现Idea在整个每次找到错误代码非常不方便(Idea如果类中有错误,没有打开过类并不会提示,比如构建工程后缺少jar包问题).我想快速看到工程哪里出问题类似于eclipse ...
- [转]解决Maven报错"Plugin execution not covered by lifecycle configuration"
[转]解决Maven报错"Plugin execution not covered by lifecycle configuration" 导入Myabtis源码后,POM文件会报 ...
- 解决MySQL报错ERROR 2002 (HY000)【转】
今天在为新的业务线搭架数据库后,在启动的时候报错 root@qsbilldatahis-db01:/usr/local/mysql/bin# ./mysql ERROR 2002 (HY000): C ...
- 解决 php 报错 open_basedir restriction in effect或者nginx提示No input file specified怎么办
解决 php 报错 open_basedir restriction in effect或者nginx提示No input file specified怎么办 问题是出现在了PHP.INI上面了 ,原 ...
- eclips中maven解决jsp报错的问题
加入如下的pom依赖: <!-- 解决jsp报错的依赖包第一个 --> <dependency> <groupId>javax.servlet</groupI ...
随机推荐
- 在windows 下使用git
首先安装好在windows下的linux模拟交互器 这里我选择的是cygwin 这里我是参考:http://book.51cto.com/art/201107/278731.htm 这里还要注意我这里 ...
- DML语言练习,数据增删改查,复制清空表
Connected Connected as TEST@ORCL SQL> select * from t_hq_bm; BUMBM BUMMC DIANH ---------- ------- ...
- if转换switch的小技巧
class Program { static void Main(string[] args) { /* 对学员的结业考试成绩评测(用switch) * 成绩>=90……A * 90>成绩 ...
- 关于OOM那些事儿
最近在aliyun上crontab里放的一个java脚本把机器搞翻了,ssh连不上T_T 发现OOM了,真是无语.并不懂Java的内存模型,转一篇备用吧. 转载自:http://www.cnblogs ...
- 【BZOJ-1588】营业额统计 Splay
1588: [HNOI2002]营业额统计 Time Limit: 5 Sec Memory Limit: 162 MBSubmit: 12485 Solved: 4508[Submit][Sta ...
- maven-相关配置
Linux Ubuntu 安装Maven 我配置了 sudo gedit /etc/profile 配置了vi .bashrc 这个文档比较好(参考文档:http://www.linuxidc.co ...
- SQL Server数据库还原:"因为数据库正在使用,所以无法获得对数据库的独占访问权"
如题,网上找了一些客套的方法,如果不想去折腾,请看我的方法: 1.先脱机数据库,这个目的就是为了停掉所有链接 2.选择还原数据库,如果提示日志尾部不完整,请选择数据库属性的选项,覆盖现有数据. 还可以 ...
- TCP/IP详解 学习七
静态选路的前提: 1) 网络比较小 2) 网络之间单点连接 3) 网络之间没有多余的路由 动态选路协议,用于路由器之间的通信,有以下几种: 1) ...
- java基本类型转换规则
自动类型转换,也称隐式类型转换,是指不需要书写代码,由系统自动完成的类型转换.由于实际开发中这样的类型转换很多,所以Java语言在设计时,没有为该操作设计语法,而是由JVM自动完成. 具体规则为: b ...
- C++中使用array报错 requires compiler and library surpport for the ISO c++ 2011 standard
#error This file requires compiler and library support for the \ISO C++ 2011 standard. This support ...
<%@ Page Language="C#" MasterPageFile="~/Themes/Master/Default.Master" AutoEventWireup="true" CodeBehind="Masterpage.aspx.cs" Inherits="WebAppBlog.Test.Masterpage" Title="无标题页" %>