验证控件, 误触后无法做其他事情?

baidu_23677379 2015-01-14 11:02:13
最近开始加入 

<asp:RequiredFieldValidator ID="rv1" ControlToValidate="txbID" runat="server" ErrorMessage="不可空白" />
使用

但是我发现问题很严重... 

如果使用者在,月约页面要Key资料,不小心触发了,TextBox的验证,验证只要是失败的情况下...

所有按钮....会全都失效

如果此时我想

回首页、点选其他连结完全无法执行
ex:
Response.Redirect("~/Login.aspx");
Response.Redirect("~/A.aspx");

连想执行登出...都点了没反应

请问这个问题要怎么解决呢?




...全文
103 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu_23677379 2015-01-15
  • 打赏
  • 举报
回复
會碰到那問題是如果強制都要檢查的話 我再進去註冊畫面時,如果此時不想註冊 想點回首頁的按鈕......就會被系統以為你是要 Post, 事實上也是要做這個動作啦..... 因為回首頁的按鈕我這樣寫 ↓ //Response.Redirect("~/Login.aspx"); 我後來想到賤招,直接用 JS OnClientClick="window.history.back()" /> 就解決我的困擾了 ^^
  • 打赏
  • 举报
回复
引用 4 楼 findcaiyzh 的回复:
按钮等其他引起postback的控件 有个属性是CausesValidation,把不需要的validate的设置成False.
宝爸已经回答你了,而且如果一个页面上不同的按钮要验证不同的输入框(比如按钮A验证输入框A,按钮B验证输入框B),可以通过ValidateGroup来指定各自要验证的范围
宝_爸 2015-01-14
  • 打赏
  • 举报
回复
按钮等其他引起postback的控件 有个属性是CausesValidation,把不需要的validate的设置成False.
  • 打赏
  • 举报
回复
引用 楼主 baidu_23677379 的回复:
如果此时我想 回首页、点选其他连结完全无法执行 ex: Response.Redirect("~/Login.aspx"); Response.Redirect("~/A.aspx"); 连想执行登出...都点了没反应 请问这个问题要怎么解决呢?
你的这两个代码需要回发,与你自己写的验证控件相互矛盾。 两种选择: 1. 看看你选择的验证控件有没有什么属性,可以指定“忽略控制”的控件。 2. 实际上为了效率考虑,这两个功能应该使用客户端 window.localtion.href="....."; 来实现,不应该回发。(注意客户端访问地址应该使用 Page.ResoveUrl 方法来计算出)。
  • 打赏
  • 举报
回复
引用 楼主 baidu_23677379 的回复:
最近开始加入  <asp:RequiredFieldValidator ID="rv1" ControlToValidate="txbID" runat="server" ErrorMessage="不可空白" /> 使用 但是我发现问题很严重...  如果使用者在,月约页面要Key资料,不小心触发了,TextBox的验证,验证只要是失败的情况下... 所有按钮....会全都失效 如果此时我想 回首页、点选其他连结完全无法执行 ex: Response.Redirect("~/Login.aspx"); Response.Redirect("~/A.aspx"); 连想执行登出...都点了没反应 请问这个问题要怎么解决呢?
你应该仔细看看你使用的验证控件的说明书。如果是在客户端都没有验证通过,那么它不会回发。而如果是在服务器端没有验证通过,那么我没有听说过asp.net验证控件会让你的“所有按钮....会全都失效”的,估计是你自己另外抄袭了错误的什么“让提交按钮失效”的javascript代码了。
全体起立 2015-01-14
  • 打赏
  • 举报
回复
服务端控件其实并不好用,虽然一拖就出来了,但是后面的麻烦事太多,你不如用js去实现表单验证,又简单又灵活。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧