0

我有以下代码

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

每当我在 searchBox 聚焦时按“输入”键时,其他面板中的字段都会突出显示并显示“请填写该字段”。

我该如何解决这个问题?

4

2 回答 2

1

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

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

或者

您可以使用验证组来实现这一点。

于 2013-03-27T16:46:09.017 回答
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>

到网络配置

于 2013-03-27T16:45:55.963 回答