我正在尝试建立一个asp.net网站。
我使用以下格式创建了一个母版页:
<%@ Page MasterPageFile="masterPage.master" %>
<asp:Content ContentPlaceHolderId="CPH1" runat="server">
<HTML>
<head>
</head>
<body>
</asp>
<asp:Content ContentPlaceHolderId="CPH2" runat="server">
</asp>
<asp:Content ContentPlaceHolderId="CPH3" runat="server">
</body>
</HTML>
</asp>
单个页面的内容将存储在
中ContentPlaceHolderId="CPH2"
和占位符中的内容
ContentPlaceHolderId="CPH1"
ContentPlaceHolderId="CPH3"
将是来自母版页的所有页面的通用内容。
然后我做了以下页面,应该是我的主页,并将其保存为home.aspx:
<asp:Content ContentPlaceHolderId="CPH1" runat="server">
</asp>
<asp:Content ContentPlaceHolderId="CPH2" runat="server">
INDIVIDUAL PAGE CONTENT
</asp>
<asp:Content ContentPlaceHolderId="CPH3" runat="server">
</asp>
我认为这是正确完成的,虽然我不确定,因为我无法找到任何关于我需要做什么的明确教程。
我已将此内容上传到服务器并加载了以下网址:
WWW&#39; MYDOMAIN&#39; .co.uk / home.aspx
但是我收到以下错误:
内容控件必须是内容页面中的顶级控件或引用母版页的嵌套&gt;母版页。
我不确定我做错了什么,或者如何解决它。如果有人能告诉我我做错了什么,或者指出一些关于我需要做什么的明确说明,这将非常有帮助,包括如何正确配置我的默认页面以指向我的homepge
答案 0 :(得分:1)
您需要使用完全对应的结束标记结束<asp:
控件标记。除非这是我不知道的语法,否则您无法使用</asp>
。
所以将</asp>
更改为</asp:Content>
。
但是,主要问题是您尝试在 <asp:Content>
控件之外放置标记。 .aspx
页面使用母版页时不允许这样做。
[忽略上述部分,我没有正确阅读您的代码 - 所有标记 都在<asp:Content>
控件内。]
但是,我要说的是,您的母版页通常包含所有<html><head><body>
标记,<asp:ContentPlaceHolder>
个控件放置在具有适当名称的适当位置。在子页面中包含这些标记是不常见的。