asp.net 确认对话框与数据验证控件的冲突问题
来源:互联网 发布:程序员好,还是金融好 编辑:程序博客网 时间:2024/04/27 16:32
当一个网页中既有数据验证控件,又有一个按钮在点击时出现提示按钮。 如果直接在页面的后台代码的Page_Load函数中写入btn.Attributes["Onclick"] = "return confirm('确定要保存数据?')",那么验证控件就会失效,因为验证控件也是通过js实现的,这样的话return confirm('确定要保存数据?')先于原来的js代码执行,提前返回了,于是验证控件失去了作用。 Html生成的源码如下: <input type="submit" name="ctl00$ContentPlaceHolder1$bt_save" value="保存数据" onclick="return confirm('确定要保存数据吗?');WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ContentPlaceHolder1$bt_save", "", true, "", "", false, false))" id="ctl00_ContentPlaceHolder1_bt_save" /> 一开始我错认为把return去掉就可以了,后来发现这样是不行的,原因是没有return的值,确认框也就没有了作用,不管是确定还是取消,都会执行后台代码。 然后我们重新分析一下,这几段代码的实现。 1.我们在后台中加入的Onlick事件的代码默认加到数据验证js方法的前面。 2.我们需要confirm的return值。 3.不能在验证控件的js方法调用前返回。 第2,3条已经没有办法改变了,只能在第一条上突破,于是我将Html中生成的验证控件js方法的调用代码也加到后台中,并且放到return confirm()之前,这样就能保证我们的功能了: 后台代码如下:t_save.Attributes["OnClick"] = "WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('ctl00$ContentPlaceHolder1$bt_save', '', true, '', '', false, false));return confirm('保存吗?')" ; (注意此处必须将html中的"都替换为 ‘ ); 这样做之后,html生成的代码变成了: <input type="submit" name="ctl00$ContentPlaceHolder1$bt_save" value="保存数据" onclick="WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('ctl00$ContentPlaceHolder1$bt_save', '', true, '', '', false, false));return confirm('保存吗?');WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ContentPlaceHolder1$bt_save", "", true, "", "", false, false))" id="ctl00_ContentPlaceHolder1_bt_save" /> 显然验证控件js方法调用了两次,但在第二次之前我们就已经return 了,所以没关系; 以上是我在很无奈的时候想到的办法,如果有哪位高人还有其他好的解决方案,希望多多指教
- asp.net 确认对话框与数据验证控件的冲突问题
- ASP.NET中关于验证控件和自定义弹出确认窗口的冲突问题
- 解决 asp.net onClientClick 与 验证控件冲突问题
- asp.net 验证控件RequiredFieldValidator与js冲突的解决
- java对话框 及与验证控件的冲突
- asp.net验证控件与onClientClick一起使用的问题
- Button控件的OnClientClick与验证控件冲突的问题
- ASP.NET验证控件失效的问题
- .net 验证控件和javaScript的冲突问题。
- ASP.NET弹出对话框确认
- ASP.NET弹出对话框确认
- asp.net 删除确认对话框
- asp.net 删除确认对话框
- Asp.net 数据验证控件
- asp.net验证控件问题
- asp.net验证控件问题
- ASP.NET一个页面多个Button按钮事件避免数据验证控件RequiredFieldValidator冲突方法
- ASP.NET一个页面多个Button按钮事件避免数据验证控件RequiredFieldValidator冲突方法
- 程序员简历
- ASP.NET使用Request获取来源网址URL参数
- dhtmltree
- Virtual Columns in Oracle Database 11g
- netbeans6.7+tomcat6 部署问题
- asp.net 确认对话框与数据验证控件的冲突问题
- 数据库连接出错(127.0.0.1)
- 偷听李开复“内心的声音”
- 讲用记事本打开添加到桌面右键菜单中
- asp.net向文件写入日志
- 《Java面向对象编程》学习笔记16—Java I/O系统
- c# 对两个Datatable的结构相同进行合并
- Petshop4.0学习笔记二——利用反射编程
- 进制之间的转换 16---10