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

2022-10-22,,,,

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

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

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

下载本文的Word格式文档,以方便收藏与打印。