ASP.NET MasterPageFile 导致错误

发布于 2024-09-14 09:11:42 字数 739 浏览 4 评论 0 原文

我正在尝试在我的网站中使用母版页。我创建了一个页面,然后创建了母版。然后我添加了标签 MasterPageFile="~/master"。我猜我需要对我的主页做一些事情,因为我现在开始收到错误:

The page contains markup that is not valid when attached to a master page

我的主页如下:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" MasterPageFile="~/my.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">
<body>
     <form id="form1" runat="server">
     <div>

     </div>
     </form>
</body>
</html>

我尝试删除标签,认为这可能是问题所在。有人能指出我正确的方向吗?

I'm trying to use a master page in my website. I created a page and then created the master. I then added the tag MasterPageFile="~/master". I'm guessing that I need to do something to my main page, because I've now started getting the error:

The page contains markup that is not valid when attached to a master page

My main page is as follows:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" MasterPageFile="~/my.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">
<body>
     <form id="form1" runat="server">
     <div>

     </div>
     </form>
</body>
</html>

I tried deleting the tag thinking that this might be the issue. Can anyone point me in the right direction?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

安人多梦 2024-09-21 09:11:42

您需要将 body 更改为 content 部分。母版页与 contentplaceholders 配合使用:您的内容页面需要为这些占位符提供内容。 请参阅有关此主题的 msdn 页面。

引用上面的链接,您的母版页可以包含以下内容:

<td><asp:contentplaceholder id="Main" runat="server" /></td>

内容页将通过提供以下内容来填充

<% @ Page Language="C#" MasterPageFile="~/Master.master" Title="Content Page 1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="Main" Runat="Server">
    Main content.
</asp:Content>

请注意,我在内容页的顶部包含了主要声明。

You need to change your body to content sections. The master page works with contentplaceholders: your content pages need to provide the content for these placeholders. See the msdn page on this topic.

Quoted from that link above, your master page could contain the following:

<td><asp:contentplaceholder id="Main" runat="server" /></td>

Which the content page would fill by supplying the following

<% @ Page Language="C#" MasterPageFile="~/Master.master" Title="Content Page 1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="Main" Runat="Server">
    Main content.
</asp:Content>

Note that I included the main declaration at the top of the content page.

╭⌒浅淡时光〆 2024-09-21 09:11:42

继承母版页的页面应以 作为根。这意味着没有 html 标签、没有 doctype 等。

the pages inhering master page should have a <asp:Content as their root. this means no html tag no doctype etc.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文