Response.Redirect 打开新窗口的方法

方法一:在服务器端设置 target 属性,这个方法也非常适用于客户端不支持脚本的情况。代码如下:


protected void Page_Load(object sender, EventArgs e)
    {
        form1.Target = "_blank";
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Redirect("http://dotnet.aspx.cc");
    }


办法二:采用客户端脚本的方法设置 target 属性。代码如下:

复制  保存


protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Attributes.Add("onclick", "this.form.target='_newName'");
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Redirect("http://dotnet.aspx.cc");
    }


方法三
protected void Page_Load(object sender, EventArgs e)
    {
      string WindowName = "win" + System.DateTime.Now.Ticks.ToString();
      Page.RegisterOnSubmitStatement("js", "window.open('','" + WindowName + "','width=600,height=200')");
        form1.Target = WindowName;
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Redirect("http://dotnet.aspx.cc");
    }

方法4:

public static class ResponseHelper
{
    public static void Redirect(string url, string target, string windowFeatures)
    {
        HttpContext context = HttpContext.Current;
        if ((String.IsNullOrEmpty(target) || target.Equals("_self",

StringComparison.OrdinalIgnoreCase)) && String.IsNullOrEmpty(windowFeatures))
        {
            context.Response.Redirect(url);
        }
        else
        {
            Page page = (Page)context.Handler;
            if (page == null)
            {

                throw new InvalidOperationException("Cannot redirect to new window outside Page context.");
            } url = page.ResolveClientUrl(url); string script; if (!String.IsNullOrEmpty(windowFeatures))
            { script = @"<script>window.open(""{0}"", ""{1}"", ""{2}"");</script>"; }
            else
            {
                script = @"<script>window.open(""{0}"", ""{1}"");</script>";
            }
            script = String.Format(script, url, target, windowFeatures);
           
            //ScriptManager.RegisterStartupScript(page, typeof(Page), "Redirect", script, true);
            page.RegisterStartupScript("ddd", script);
        }
    }
}

调用:

ResponseHelper.Redirect("popup.aspx", "_blank", "menubar=0,width=100,height=100");
  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值