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

时间:2013-08-07 16:27:23

标签: asp.net forms

我在asp.net应用程序中有一个使用表单标记的内容页面。页面上只有一个,所以我很困惑为什么它给我错误:验证(HTML5):元素'表单'不能嵌套在元素'form'中

下面是代码:

<%@ 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>

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

有什么想法吗?

1 个答案:

答案 0 :(得分:9)

如果您的<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