[转]用Redirect从新窗口打开链接的方法

Redirect从新窗口打开页面小技巧:
果然有很多人需要这样做,本来我是想自己用Write一个Window.open来着,不过还是百度了一下,发现这位老兄封装的不错,就直接借用了.
看下面的这个方法
///   <summary>
    
///  Redirect从新窗口打开
    
///   </summary>
    
///   <param name="url"> 重定向的URL地址 </param>
    
///   <param name="target"> target目标 </param>
    
///   <param name="windowFeatures"> 窗体属性设置 </param>
     public   static   void  Redirect( string  url,  string  target,  string  windowFeatures)
    {
        
if  ((String.IsNullOrEmpty(target)  ||  target.Equals( " _self " , StringComparison.OrdinalIgnoreCase)) && String.IsNullOrEmpty(windowFeatures))
        {
            HttpContext.Current.Response.Redirect(url);
        }
        
else
        {
            Page page 
=  (Page)HttpContext.Current.Handler;
            
if  (page  ==   null )
            {
                
throw   new  InvalidOperationException(
                   
" 不能重定向到新的窗口 " );
            }
            url 
=  page.ResolveClientUrl(url);
            
string  script;
            
if  ( ! String.IsNullOrEmpty(windowFeatures))
            {
                script 
=   @" window.open(""{0}"", ""{1}"", ""{2}""); " ;
            }
            
else
            {
                script 
=   @" window.open(""{0}"", ""{1}""); " ;
            }
            script 
=  String.Format(script, url, target, windowFeatures);

            ClientScriptManager csM 
=  page.ClientScript;       
            csM.RegisterStartupScript(
typeof (Page),  " Redirect " , script,  true );
        }
    }

用的时候直接调用就可以了,哈哈
调用方法
windowFeatures是设置窗体,可以为空
Redirect(" http://www.baidu.com/", "_blank","");
Redirect(" http://www.baidu.com/", "_blank", "'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no'");
其实也是利用了window.open() , 换而言之,你也可以用
Response.Writer("<script language=javascript>window.open('test.html','newwindow','');</script>");

转载于:https://www.cnblogs.com/zhangyue/archive/2008/05/24/1206631.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值