8

form タグを使用する asp.net アプリケーションにコンテンツ ページがあります。ページには 1 つしかないので、なぜエラーが発生するのか混乱しています: 検証 (HTML5): 要素 'フォーム' は要素 'フォーム' 内にネストされていてはなりません

コードは次のとおりです。

<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/Site.Master" CodeBehind="Default.aspx.cs" Inherits="WebApplication6._Default" %>
<asp:Content ID="Content1" runat="server" ContentPlaceHolderID="MainContent">
   <div>
      <form id="form1">
         <asp:GridView ID="GridView1" runat="server" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="Id" DataSourceID="SqlDataSource1" AllowPaging="True" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
            <Columns>
               <asp:BoundField DataField="Id" HeaderText="Id" InsertVisible="False" ReadOnly="True" SortExpression="Id" />
               <asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" />
               <asp:BoundField DataField="Director" HeaderText="Director" SortExpression="Director" />
               <asp:BoundField DataField="DateReleased" HeaderText="DateReleased" SortExpression="DateReleased" />
               <asp:TemplateField HeaderText="Selection">
                  <ItemTemplate>
                     <asp:CheckBox ID="Selections" runat="server" OnCheckedChanged="CheckBox1_CheckedChanged1" />
                  </ItemTemplate>
               </asp:TemplateField>
            </Columns>
         </asp:GridView>
         <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [Movies]"></asp:SqlDataSource>
         <asp:Button ID="Button1" runat="server" Text="Select Movies" OnClick="Button1_Click" CausesValidation="False" />
         <asp:TextBox ID="TextBox1"  Text="First Name" runat="server"></asp:TextBox>
      </form>
   </div>
</asp:Content>

マスターページにフォームがありますが、昨日は問題がありませんでした..

何か案は?

4

1 に答える 1

12

<asp:ContentPlaceHolder ID="MainContent" >コントロール自体がform要素の内部にある場合、フォームをネストしてはならないためform、コントロールの内部に を配置しないでください。asp:content

HTML5ワーキングドラフトから:

4.10.3 フォーム要素
コンテンツ モデル:
フロー コンテンツですが、フォーム要素の子孫はありません。

アップデート

A page can have only one server-side Form tagという質問を参照してください。

通常、マスター ページにはフォーム タグを含めないでください。これは、コンテンツ ページのベース レイアウトとしてのみ使用することを意図しているためです。

次のガイドラインを使用して、プロジェクトを再構築してみてください。

  • form要素を aspx ページにのみ追加する
  • MasterPageページからメイン コンテンツを追加する
  • フォーム内にネストする必要があるコンテンツをUserControl、ページ内に配置される に追加します。
于 2013-08-07T16:32:17.430 に答える