LinkBut​​ton不会触发ASP.NET验证程序

时间:2012-02-28 07:10:35

标签: asp.net validation

我有一个目前使用控件提交表单的表单。一切都很完美。所以现在新的要求是将“提交”按钮作为链接。将其更改为LinkBut​​ton控件,而不更改其他东西,会破坏验证。

在SO问题中发布的代码太多了,我知道这里有一些细节,但是有没有理由为什么LinkBut​​ton不会像Button一样触发ASP.NET验证控制会吗?从理论上讲,它们都应该完全相同,不是吗?

当前的提交按钮:

<asp:Button ID="btnSubmit" TabIndex="9" Text="Send" ValidationGroup="Forward" runat="server" />

新的提交按钮:

<asp:LinkButton ID="btnSubmit" TabIndex="9" Text="Send" ValidationGroup="Forward" runat="server" />

5 个答案:

答案 0 :(得分:0)

“链接”按钮应该像普通按钮一样触发验证,我的问题如下:

  1. 确保停止此操作的服务器端代码中没有任何内容。
  2. 确保在javascript代码中没有什么能阻止“

答案 1 :(得分:0)

ASP.NET控件的激活验证具有名为CauseValidation

的属性

确保所有控件都应触发验证,并将此属性设置为True

答案 2 :(得分:0)

将属性CauseValidation="True"添加到您的控件中,但如果您想在代码后面的特定行触发此属性,则可以使用以下代码验证表单:

FormID.Validate();

答案 3 :(得分:0)

我知道这已经过时但从未回答过。您的验证员是否有&#34; controlTovalidate&#34;?目前看起来似乎验证器没有开火,但实际上它是。它只是没有任何东西,它正在观看&#39;。希望如果有人到达这个线程,这有助于即使它只是一点点。

答案 4 :(得分:0)

我无法确定此问题的原因但能够解决它:

我设置了CausesValidation =&#34; false&#34;并在onclick事件的顶部添加了this.Validate(linkBut​​ton.ValidationGroup),这允许事件获取后面的代码并进行验证。