关于模态对话框关闭之后继续执行服务器端代码的问题
2006-12-31 10:19
411 查看
updated on 2008/6/26
最近做一个从Access项目向 Asp.net + SqlServer迁移工作,其中遇到了这种情况,在Access窗体的一个按钮事件中,代码大体上是这么个功能:弹出模态对话框,在关闭对话框之后继续走一段数据库操作代码。
在Asp.net里弹出模态对话框容易,但是在模态对话框关闭之后还要继续执行服务器代码,这就要求当对话框关闭之后页面要立即提交。于是有了以下的解决方法。
在Web Form中拖入服务器端按钮,并假设此按钮ID为 btnComput,在隐藏页面的 Page_Load 中用代码中这样写:
btnComput.Attributes("onclick") = " window.showModalDialog('')",参数为对话框Web Form。
在btnComput的服务器端事件里执行当对话框关闭之后的数据库操作代码。
因为点击 btnComput时,先执行客户端javascript,在弹出模态对话框后,页面也没提交,一直等到对话框关闭之后,javascript才算执行完毕,然后Web页面提交,继续执行服务器端的事件。这样连同客户端代码和服务器端事件代码一起实现了Access中那个按钮的功能。
在弹出的模态页面里要注意两点:
1. 在进行事件处理时防止弹出新的页面
2. 防止发生缓存不向服务器提交
可以添加以下标记在<head>里
<!--Prevent opening new window-->
<base target="_self" />
<!--Disable the cache-->
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />
<meta http-equiv="expires" content="Mon, 23 Jan 1978 20:52:30 GMT" />
看到一位网友对Asp.net中使用模态窗体的心得,写得不错,见下:
1. Asp.net中使用javascrip的模态窗体的一点体会
2. Accessing a parent browser window from a child window or vice versa using JavaScript
最近做一个从Access项目向 Asp.net + SqlServer迁移工作,其中遇到了这种情况,在Access窗体的一个按钮事件中,代码大体上是这么个功能:弹出模态对话框,在关闭对话框之后继续走一段数据库操作代码。
在Asp.net里弹出模态对话框容易,但是在模态对话框关闭之后还要继续执行服务器代码,这就要求当对话框关闭之后页面要立即提交。于是有了以下的解决方法。
在Web Form中拖入服务器端按钮,并假设此按钮ID为 btnComput,在隐藏页面的 Page_Load 中用代码中这样写:
btnComput.Attributes("onclick") = " window.showModalDialog('')",参数为对话框Web Form。
在btnComput的服务器端事件里执行当对话框关闭之后的数据库操作代码。
因为点击 btnComput时,先执行客户端javascript,在弹出模态对话框后,页面也没提交,一直等到对话框关闭之后,javascript才算执行完毕,然后Web页面提交,继续执行服务器端的事件。这样连同客户端代码和服务器端事件代码一起实现了Access中那个按钮的功能。
在弹出的模态页面里要注意两点:
1. 在进行事件处理时防止弹出新的页面
2. 防止发生缓存不向服务器提交
可以添加以下标记在<head>里
<!--Prevent opening new window-->
<base target="_self" />
<!--Disable the cache-->
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />
<meta http-equiv="expires" content="Mon, 23 Jan 1978 20:52:30 GMT" />
看到一位网友对Asp.net中使用模态窗体的心得,写得不错,见下:
1. Asp.net中使用javascrip的模态窗体的一点体会
2. Accessing a parent browser window from a child window or vice versa using JavaScript
相关文章推荐
- asp.net下模态对话框关闭之后继续执行服务器端代码的问题
- asp.net下模态对话框关闭之后继续执行服务器端代码的问题
- 关于Oracle错误:动态执行表不可访问,本会话自动统计被禁止,关闭自动统计之后的问题
- 关于alert后,才能继续执行后续代码问题
- 关于.net验证控件检错之后继续执行后台代码的错误分析 推荐
- 关于android Activity界面Finish之后代码是否继续执行
- 关于jquery的ajax方法之后代码和内部代码执行问题
- 关于jquery的ajax方法之后代码和内部代码执行问题
- VBA调用doc命令,doc窗口关闭之后,继续执行代码
- C#中try catch捕捉到问题之后 后面的代码还继续执行吗
- 【VUE】关于VUE环境配置问题导致IIS发布之后Create与Mounted方法的执行问题
- 解决关于页面空间disable之后服务器端取值问题
- Oracle错误:动态执行表不可访问,本会话自动统计被禁止,关闭自动统计之后的问题
- 关于php的header后的代码继续执行
- 关于ASP.NET MVC中Response.Redirect和RedirectToAction的BUG (跳转后继续执行后面代码而不结束进程)以及处理方法
- Oracle错误:动态执行表不可访问,本会话自动统计被禁止,关闭自动统计之后的问题
- 关于GIT commit两次之后出现push代码到远程库不能成功的问题
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- exit() 时或之后还能继续执行php代码的几种办法
- VS2010 "缺少dlmgr.dll 无法继续执行代码。重新安装程序可能会解决此问题"解决方案