zoukankan      html  css  js  c++  java
  • 在方法中实现页面跳转

    一般情况下,Response.Redirect 方法是在服务器端进行转向,因此,除非使用 Response.Write("<script>window.location='http://dotnet.aspx.cc';</script>") 方法外,是不能在新窗口打开所指定的  URL 地址的。但是,如果仔细分析一下,如果设置 form 元素的 target 属性,还是有办法打开新窗口的。下面就是可以采用的两种方法。

    方法一:在服务器端设置 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");
        }

    总结前两种方法都有一定的局限性,如:Button1放在UpdatePanel中,上述两种方式就不能打开新的页面。而且第一种方式会对整个页面都产生影响。

    下面这种方式是一种比较理想的解决方式。

    string jsStr1 = "<script>window.open('" + url+ "')</script>";
     ScriptManager.RegisterStartupScript(
    this.paperlist_div, this.GetType(), "Alert", jsStr1, false);
  • 相关阅读:
    布局的诡异bug合集+解决方法(更新中)
    java并发:CopyOnWriteArrayList简单理解
    java集合: LinkedList源码浅析
    Idea设置类注释模板
    jquery使用FormData提交数据
    postman发送json请求
    消息队列的简单理解
    如何设计一个消息队列?
    SpringBoot配置logback
    linux下安装kafka
  • 原文地址:https://www.cnblogs.com/dsliang/p/1391680.html
Copyright © 2011-2022 走看看