7

这是我正在使用的代码:

            <telerik:RadTextBox ID="txtTitre" runat="server" Skin="Windows7" Width="250">
            </telerik:RadTextBox>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="*"
                ForeColor="Red" ControlToValidate="txtTitre" ValidationGroup="validationincident"></asp:RequiredFieldValidator>

还有我的 ASP 按钮:

        <asp:Button ID="Button1" runat="server" Text="Soumettre ce ticket" OnClick="Button1_Click"
            OnClientClick="CloseDialog()" UseSubmitBehavior="false" ValidationGroup="validationincident" />

我的问题是 OnClientClick 似乎在 ValidationGroup 之前被触发,因为在我的 OnClientClick 中调用的 JS 函数关闭了我的窗口。

所以窗口关闭,“*”(错误消息)仅在我重新打开窗口时显示。

我需要先检查我的 ValidationGroup!在此先感谢您的帮助

4

4 回答 4

18

使用Page_ClientValidate()which 检查客户端验证

<asp:Button ID="Button1" runat="server" Text="Soumettre ce ticket" OnClick="Button1_Click"
            OnClientClick="if(Page_ClientValidate()) CloseDialog();" UseSubmitBehavior="false" ValidationGroup="validationincident" />
于 2012-03-15T11:41:16.270 回答
2

使用Page_ClientValidate()which 检查客户端验证

<asp:Button ID="Button1" runat="server" Text="Button" 
     OnClientClick="if(Page_ClientValidate()) CloseDialog();" OnClick="Button1_Click"/>

此外,您还可以指定验证组Page_ClientValidate(validationGroup),以防您的页面上有多个验证:

<asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="myGroup"
      OnClientClick="if(Page_ClientValidate('myGroup')) CloseDialog();" OnClick="Button1_Click" />
于 2015-12-17T07:37:32.963 回答
1

为按钮设置 CauseValidation="true"。

于 2012-03-15T12:28:09.850 回答
-1

我遇到了同样的问题。这就是我解决它的方法。

 <asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="myGroup" OnClientClick="Page_ClientValidate()){ return CloseDialog();}else { return false;}" OnClick="Button1_Click" /> 
于 2018-07-18T09:46:40.317 回答