我有一个目前使用控件提交表单的表单。一切都很完美。所以现在新的要求是将“提交”按钮作为链接。将其更改为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" />
答案 0 :(得分:0)
“链接”按钮应该像普通按钮一样触发验证,我的问题如下:
答案 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(linkButton.ValidationGroup),这允许事件获取后面的代码并进行验证。