asp.net错误表单不能嵌套在元素表单中?

Wil*_*tle 7 forms asp.net

我在asp.net应用程序中有一个使用表单标记的内容页面.页面上只有一个,所以我很困惑为什么它给我错误:验证(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>
Run Code Online (Sandbox Code Playgroud)

我的主页上有一个表格,但昨天没有给我提问.

有任何想法吗?

Kyl*_*Mit 11

如果您的<asp:ContentPlaceHolder ID="MainContent" >控件本身位于form元素内部,那么您不应该放置控件form内部,asp:content因为您不应该使用嵌套表单.

HTML5工作草案:

4.10.3表单元素
内容模型:
流内容,但没有表单元素后代.

UPDATE

查看问题页面只能有一个服务器端表单标记:

母版页通常不应包含表单标记,因为它们仅用作内容页面的基本布局.

尝试使用以下指南重构您的项目:

  • form向aspx页面添加元素
  • MasterPage从页面添加主要内容
  • 将需要嵌套在表单中的任何内容添加到UserControl放置在页面中的内容.