ASP.NET MasterPageFile вызывает ошибку - PullRequest
3 голосов
/ 12 августа 2010

Я пытаюсь использовать главную страницу на моем сайте. Я создал страницу, а затем создал мастер. Затем я добавил тег 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>

Я попытался удалить тег, думая, что это может быть проблемой. Кто-нибудь может указать мне правильное направление?

Ответы [ 2 ]

5 голосов
/ 12 августа 2010

Вам необходимо изменить 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>

Обратите внимание, что я включил основное объявление вверху страницы содержимого.

1 голос
/ 12 августа 2010

у страниц, наследующих главную страницу, должен быть <asp:Content в качестве корня.это означает, что нет html-тега, нет типа документа и т. д.

...