另一个Panel中的必填字段导致ASP.NET Panel出现问题

时间:2013-03-27 15:44:58

标签: asp.net submit panel

我有以下代码

 <asp:Panel ID="searchPanel" DefaultButton="searchButton" runat="server">
                    <asp:TextBox ID="searchBox" runat="server" value="     Search..."></asp:TextBox>
                    <asp:Button ID="searchButton" runat="server" Style="display: none" OnClick="searchInput" />
                </asp:Panel>



                                <asp:Panel ID="loginPanel" DefaultButton="submitButton" runat="server">

                                        <asp:TextBox ID="username" runat="server"  required="required"></asp:TextBox>
                                        <asp:TextBox runat="server" ID="password"  required="required"></asp:TextBox>

                                        <asp:Button ID="submitButton" runat="server" Text="Log in" OnClick="login" />

                                </asp:Panel>

每当我按下“输入”键时,在搜索框被聚焦时,其他面板字段会突出显示并显示“请填写字段”。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

我相信您使用的是HTML 5“必需”属性。当您尝试进行回发时,这将导致验证。

您可以使用特定于搜索控件的表单,并在表单元素中使用“novalidate”属性。

或者

您可以使用验证组来实现此目的。

答案 1 :(得分:0)

使用验证组

解决了这个问题
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1"
                    ControlToValidate="username"
                    ValidationGroup="emailValidationGroup"
                    runat="Server">
                </asp:RequiredFieldValidator>

 ValidationGroup="emailValidationGroup" //goes to button

也不要忘记添加

<appSettings>
    <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
  </appSettings>

到webconfig