我在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>
我的主页上有一个表格,但昨天没有给我提问..
有什么想法吗?
答案 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
。