aspx的一个问题

来源:互联网 发布:淘宝店铺装修免费教程 编辑:程序博客网 时间:2024/06/05 17:44

状况:

.net中使用ShowModalDialog打开一个aspx页面(目标页面),并且在该目标页面中会有Postback到服务器端的动作,

结果每次该目标页面(模式窗体)提交到后台都会打开一个新的窗体,与要实现的效果相悖。

曾采用的方式:

这之间也曾采用过其他变通方式,就是新建一个htm页面,利用frameset将目标页面装在到该htm页面中,

         每次Postback都只在框架内刷新,就不会有新页面弹出。

         可是,在昨天做上传组件的过程中又碰到了一个棘手的问题,我在一个aspx页面(源页面)利用ShowModalDialog方式打开该htm页面,

         并且要传递参数到该htm所包含的aspx页面(目标页面)中,这个时候Request将被htm截获,而不能传递到目标页面中,从而导致无法在目标页面中

         处理post过来的URL参数。

最终的解决方法:

         不用htm页面包装aspx页面(目标页面),而是直接在该aspx页面的head标签中添加以下代码

<base target=”_self”>

         问题解决。

         分析下来,原来页面默认的提交目标为_black,即打开新页面,将页面的请求目标属性显示设置为_self,即可避免在模式窗体中Postback打开新页面的问题。

原创粉丝点击