asp.net下模态对话框关闭之后继续执行服务器端代码的问题

最近做一个从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中那个按钮的功能。

希望能给做类似项目的朋友一些借鉴。

相关推荐