我已经在asp.net按钮的OnClientClick属性中添加了代码,现在验证控件无效。当我删除OnClientClick代码时,验证工作。
我怎样才能使它们都起作用?
<asp:Button
ID="btnNext"
runat="server"
Text="Save & Continue"
SkinID="btnContinue"
OnClick="btnNext_Click"
OnClientClick="_changesMade=false; return true;"
ValidationGroup="vgPreMedSchool" Width="176px" />
答案 0 :(得分:7)
试试这个。
<asp:Button
ID="btnNext"
runat="server"
Text="Save & Continue"
SkinID="btnContinue"
OnClick="btnNext_Click"
OnClientClick="_changesMade=false; return Page_ClientValidate();"
ValidationGroup="vgPreMedSchool" Width="176px" />
Page_ClientValidate()是一个用于调用页面验证的javascript函数。
答案 1 :(得分:1)
验证器控件默认在客户端工作,实际上是为点击事件添加了自己的功能。有几种方法可以解决这个问题:
1)使用自定义验证器并定义您自己的客户端验证方法。这样您就可以处理验证和所需的其他处理。
2)禁用客户端验证。这将允许您的客户端代码根据需要运行,并且验证将在回发到服务器的过程中发生。但是,如果您假设您的数据在您自己的客户端点击方法中有效,则这将不适合您。
答案 2 :(得分:-1)
我认为你不能同时调用OnClick和OnClientClick属性。
一次只能使用1个属性。
感谢。