几天了,还没搞定Page_ClientValidate()的问题,请大家帮忙!! 本帖最后由 woainin 于 2014-03-09 22:33:04 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 asp:RequiredFieldValidator 不能这样用啊OnClientClick="if(Page_ClientValidate())OnClientClick时间的方法要是javascript方法,并不是后台方法。 而且RequiredFieldValidator不需要在onclientclick里面判断吧。他自动会判断,如果没通过认证是点不了的。或者你直接用js来控制。代码如下<asp:Button ID="Button1" runat="server" Text="提交" OnClientClick="return ckform()" OnClick="Button1_Click" /><script>function ckform(){document.getElementById("TextBox1").value==""?return false:return true;}</script> 你上述方法我觉得可行,但是我这个页面其实是我抽象出来的一个简单页面,实际情况会复杂些!问题的本质是:如何根据RequiredFieldValidator的验证见过来执行Button1_Click方法,就是说如果验证失败就不执行,验证通过才执行Button1_Click方法,谢谢!!请继续指教!! 谢谢csy19871106,我看了些asp.net生成的html源代码,觉得Page_ClientValidate()应该是javascript方法 各位高手请帮忙,我如何在使用RequiredFieldValidator的情况下,在验证失败的情况下不执行onclick方法? 我这里实验没有问题啊RequiredFieldValidator的EnableClientScript默认就是True, 写在OnClientClick中的代码好像没啥效果啊。 <form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="Please enter somthing in textbox"></asp:RequiredFieldValidator> <br /> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" OnClientClick="if(Page_ClientValidate()){alert('true'); return true;}else{alert('false');return false;}" Text="Button" /> </div> </form> 不管你有没有在文本框输入内容,都是true,不正常啊? 既然你都用了验证控件,那就不需要OnClientClick里面再进行判断了啊!在你点击按钮页面回发的时候会自动判断的 没输入内容是false啊。不过没有执行到服务器端不是OnClientClick中返回了false,而是Validator自己做的。 lz试下这个:<asp:Button ID="Button1" runat="server" Text="提交" OnClientClick="if(CheckClientValidate()){return true;}else{return false;}" OnClick="Button1_Click" />Code<script language="javascript" type="text/javascript"> function CheckClientValidate(){ Page_ClientValidate(); if (Page_IsValid){ return true; }else{ return false; } } </script>原文:http://www.cnblogs.com/loalongblogs/archive/2011/08/14/2138462.html Jquery实现复选框的CHECKED为TRUE时显示TABLE中的一行TR 在.net下如何用数据集(以.xsd结尾的文件)调用存储过程 用continue还是break呢 关于框架刷新问题 这个怎么做? 如何用程序动态生成formview并设置其属性 C#中这样的字符串如何赋值? 很急 怎么无法调试呢? 谁知道有支持C#的文本编辑器吗,要求能在98可以用。 为什么JS文件老是提示问题呢? 未能加载类型“BookShop.Admin.CheckAdminModule”。 Error 5013 : 无效的 DataPath。不能加载数据
OnClientClick="if(Page_ClientValidate())
OnClientClick时间的方法要是javascript方法,并不是后台方法。 而且RequiredFieldValidator不需要在onclientclick里面判断吧。他自动会判断,如果没通过认证是点不了的。或者你直接用js来控制。代码如下
<asp:Button ID="Button1" runat="server" Text="提交" OnClientClick="return ckform()" OnClick="Button1_Click" />
<script>
function ckform(){
document.getElementById("TextBox1").value==""?return false:return true;
}
</script>
RequiredFieldValidator的EnableClientScript默认就是True, 写在OnClientClick中的代码好像没啥效果啊。
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="Please enter somthing in textbox"></asp:RequiredFieldValidator>
<br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" OnClientClick="if(Page_ClientValidate()){alert('true'); return true;}else{alert('false');return false;}" Text="Button" />
</div>
</form>
没输入内容是false啊。不过没有执行到服务器端不是OnClientClick中返回了false,而是Validator自己做的。
<asp:Button ID="Button1" runat="server" Text="提交" OnClientClick="if(CheckClientValidate()){return true;}else{return false;}" OnClick="Button1_Click" />
Code
<script language="javascript" type="text/javascript">
function CheckClientValidate(){
Page_ClientValidate();
if (Page_IsValid){
return true;
}else{
return false;
}
}
</script>
原文:http://www.cnblogs.com/loalongblogs/archive/2011/08/14/2138462.html