LinkButton没有触发ASP.NET验证器

3
我有一个表单,目前使用一个控件来提交表单。一切都运作得很完美。现在新的要求是“提交”按钮必须是一个链接。将其更改为LinkButton控件,在不更改任何其他内容的情况下,会破坏验证。
由于代码量过大,无法在SO问题中发布太多细节,但是否有任何理由导致LinkButton无法像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
将属性CauseValidation="True"添加到您的控件中,但如果您想在代码后面的特定行触发它,可以使用以下代码验证表单:
FormID.Validate();

0

我知道这是老问题,但它从未得到解答。你的验证器是否有一个“controlTovalidate”属性?目前看起来好像验证器没有触发,但实际上它确实在工作。只是它没有任何需要“监视”的内容。希望如果有人看到这个帖子,即使只是一点点,也能有所帮助。


0

我无法确定此问题的原因,但成功解决了它:

我设置了CausesValidation="false",并在onclick事件的顶部添加了this.Validate(linkButton.ValidationGroup),这使得事件能够到达后端代码并进行验证。


0

链接按钮应该像普通按钮一样触发验证,我的担忧在于以下几点:

  1. 确保服务器端代码中没有任何阻止此操作的内容。
  2. 确保JavaScript代码中没有任何阻止“
”的内容。

0

触发验证的 ASP.NET 控件有一个属性叫做 CauseValidation

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接