这里是孟子提供的方法
这里介绍Ihttpmodule处理请求管道的方法。Response.Redirect的原理是服务器设置返回http状态码为302,然后客户端执行跳转,用reflector可以看到.net的代码段。
以下是HttpResponse类的Redirect方法中的跳转代码
所以,我们可以扩展Ihttpmodule来拦截http状态码,强制设为200,同时插入js代码段来实现新窗口打开。以下是Ihttpmodule的实现代码
最后配置一下web.config就可以了
另外一点,ms自坐主张的在跳转之后,end之前插入了这么一段代码,我得b4他们一下,解决办法,大家自己想想吧。