我有一个后退和下一个按钮,因为有一个OnClientClick验证功能。
当我点击它时,不会调用此函数,请帮帮我
代码如下:
<asp:Button ID="btn_view1_back" runat="server" Text="Back"
CausesValidation="False" ValidationGroup="Form2" />
<asp:Button ID="btn_View1_Next" runat="server" CausesValidation="true" Text="Next"
ValidationGroup="Form2" OnClientClick="return ValidateDropDown();"
UseSubmitBehavior ="true" />
答案 0 :(得分:3)
只是为了确定:在JavaScript中定义了ValidateDropDown ,对吗? OnClientClick是在客户端端执行的操作,即javascript。
另一件事可能是OnClientClick的语法可能需要不同,例如:OnClientClick =“ValidateDropDown()”
答案 1 :(得分:1)
您的问题有点不清楚哪个函数没有触发(JS OnClientClick或服务器端OnClick),但如果它是服务器端,请确保ValidateDropDown()
正在返回true
。如果它返回false
或null
或其他内容,则服务器方法将不会触发。
您可以发布ValidateDropDown的代码吗?你确认它正在解雇吗?
答案 2 :(得分:0)
后退按钮设置为不导致验证,并且没有定义OnClientClick操作。
答案 3 :(得分:0)
您的ValidateDropDown方法可能抛出异常,导致回发无论如何都会发生。
你可以发布该方法的内容吗?
或者,使用Firebug并在调试菜单中检查Break on all script errors
。
此外,OnClientClick
代码在浏览器中运行,并且它调用的方法必须在Javascript中定义,而不是VB。
答案 4 :(得分:0)
确保验证未触发。可能是验证正在激活,您无法看到Text或ErrorMessage,因为默认情况下它是空白的。
答案 5 :(得分:0)
你的验证功能中有一个断点,它没有被击中?或者你认为它没有被击中,因为你的页面还是回帖?
我希望调用ValidateDropDown函数,但我不确定。但是,我也认为不重要。我认为这不重要,因为看起来你想要阻止回发,这不是那样做的方法。你想阻止回发吗?
如果是这样,我认为最好的办法是抛弃按钮的OnClientClick,而是为dropdroplist添加一个CustomValidator控件,然后将ClientValidationFunction设置为“ValidateDropDown”。已经有一个asp.net客户端验证框架,所以我只是建立在它上面。
但我只是网络上的一个白痴,我几乎没有读你的问题而且我的声誉是16,所以我绝对不会听我的。