使用 href="#" 和验证的 ASP 超链接控件

Posted

技术标签:

【中文标题】使用 href="#" 和验证的 ASP 超链接控件【英文标题】:ASP Hyperlink control using href="#" and validation 【发布时间】:2011-05-31 06:58:24 【问题描述】:

我在使用 asp 超链接控件和“#”href 值时遇到问题。我不希望链接离开当前页面或重新加载它,但我希望链接导致对特定验证组进行验证。

以下行不会触发验证。

<asp:HyperLink id="next" runat="server" CausesValidation="true" ValidationGroup="SideRifStepOne" href="#">Next Step</asp:HyperLink>

如果我使用相同的属性进行验证,但页面会重新加载。在不重新加载页面的情况下触发验证有什么建议吗?

谢谢

【问题讨论】:

【参考方案1】:

另一种解决方案是手动调用 Page_ClientValidate():

<asp:HyperLink id="next" runat="server" href="javascript:doValidate()">Next Step</asp:HyperLink> 
                <script type="text/javascript">
                    function doValidate()
                    
                        Page_ClientValidate();
                    
                </script>

【讨论】:

谢谢,这行得通。它执行验证并且不回发。感谢您的帮助。【参考方案2】:

您可以将EnableClientScript="true" 添加到您的验证控件中。通过这样做,将在回发之前在 javascript 中执行验证。

【讨论】:

谢谢,实际上我的验证控件确实有这个属性。【参考方案3】:

您是否尝试过使用链接按钮?你可以设置 onclientclick="return false;"防止回发,它应该引起验证

【讨论】:

感谢您的回复。我刚试过,它没有加载页面也没有验证。如果我删除 onclientclick="return false;"它执行验证,如果失败,工具提示会显示,但是,如果验证通过,它会刷新页面。使用 onclientclick 它没有验证。

以上是关于使用 href="#" 和验证的 ASP 超链接控件的主要内容,如果未能解决你的问题,请参考以下文章

anaconda安装记录

使用anaconda和pycharm搭建多python本版的开发环境

Anaconda多版本Python管理

Python学习神器,Anaconda的安装和使用。

Python编辑器:Anaconda+Sublime

配置python环境使用tushare股票数据