带有.NET webforms的HTML5 required =""属性

chi*_*lly 9 .net html5 webforms

我正在尝试required在.NET 4.5 webforms应用程序中的表单字段上使用新属性.

但是,由于<form>页面上的所有控件(webforms样式)周围只有一个控件,因此浏览器在按下提交按钮时不知道要验证哪些字段.

下面附有带有登录功能和页面搜索的页面的剥离版本.

当我点击搜索按钮时,我的浏览器告诉我,我必须先填写用户名和密码字段.当我尝试登录时,它告诉我必须在搜索字段中输入一些文本.因为所有字段都是相同<form>标记的子项.

还有其他人有这个问题或提出解决方案吗?我想使用HTML5属性进行表单验证,没有javascript解决方案.

<!DOCTYPE html>

<html>
<head>
    <title>Title</title>
</head>
<body>
  <form method="post" runat="server" id="mainform">


    <%// Search %>
    <asp:Panel runat="server" DefaultButton="searchButton" >

      <asp:TextBox runat="server" ID="searchQuery" ClientIDMode="Static" required="required" />
      <asp:Button runat="server" ID="searchButton" ClientIDMode="Static" Text="Search"/>

    </asp:Panel>


    <%// Login %>
    <asp:Panel runat="server" DefaultButton="signInButton">

      <label for="inputusername">Username</label>
      <asp:TextBox runat="server" ClientIDMode="Static" ID="inputusername" required="required" />

      <label for="inputpassword">Password</label>
      <asp:TextBox runat="server" TextMode="Password" ClientIDMode="Static" ID="inputpassword" required="required" />

      <asp:Button ID="signInButton" runat="server" />

    </asp:Panel>

  </form>
</body>
</html>

</html>
Run Code Online (Sandbox Code Playgroud)

小智 5

试试这个..它对我有用..

<asp:TextBox runat="server" 
             ClientIDMode="Static" 
             ID="inputusername"                    
             required />
Run Code Online (Sandbox Code Playgroud)


Jim*_*SDN -3

由于 ASP.Net Web 窗体编程模型不允许使用多个 HTML 标记,因此您无法利用这一点。