Response.Redirect打开新窗口的2种方法

转载 2007年10月15日 16:23:00

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

<%@ Page Language="C#" AutoEventWireup="true" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    
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");
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    
<title></title>
</head>
<body id="b" runat="server">
<form id="form1" runat="server">
    
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="打开新窗口或者新 Tab " />
</form>
</body>
</html>

办法二:采用客户端脚本的方法设置 target 属性

<%@ Page Language="C#" AutoEventWireup="true" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    
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");
    }
</script>

如果需要设置弹出窗口的宽度和高度

<%@ Page Language="C#" AutoEventWireup="true" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    
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");
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    
<title></title>
</head>
<body id="b" runat="server">
<form id="form1" runat="server">
    
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="打开新窗口或者新 Tab " />
</form>
</body>
</html>


<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    
<title></title>
</head>
<body id="b" runat="server">
<form id="form1" runat="server">
    
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="打开新窗口或者新 Tab " />
</form>
</body>
</html>

 

Response.Redirect 打开新窗口的两种方法

一般情况下,Response.Redirect 方法是在服务器端进行转向,因此,除非使用 Response.Write("window.location=http://dotnet.aspx.cc;"...
  • net_lover
  • net_lover
  • 2007-09-24 22:08:00
  • 141797

Response.Redirect 在新窗口打开页面

方法1: 方法2: protected void Page_Load(object sender, EventArgs e) { // 注意 form 和 target 都要小...
  • huangwenhua5000
  • huangwenhua5000
  • 2012-11-23 16:23:04
  • 551

Response.Redirect 打开新窗口的方法

方法一:在服务器端设置 target 属性,这个方法也非常适用于客户端不支持脚本的情况。代码如下: protected void Page_Load(object sender, EventArgs ...
  • canduecho
  • canduecho
  • 2007-10-28 01:41:00
  • 552

Response.Redirect在新窗口打开的另一种方法

 这里是孟子提供的方法这里介绍Ihttpmodule处理请求管道的方法。Response.Redirect的原理是服务器设置返回http状态码为302,然后客户端执行跳转,用reflector可以看到...
  • jinjazz
  • jinjazz
  • 2007-11-16 11:06:00
  • 3646

如何用Response.Redirect在新窗口打开

Response.Write("window.open(Login.aspx)");vs2005 中可用Page.ClientScript.RegisterClientScriptBlock(this...
  • fujit88
  • fujit88
  • 2007-07-29 16:38:00
  • 346

Response.Redirect 打开新窗口

public static class ResponseHelper {    public static void Redirect(string url, string target, strin...
  • w59879213
  • w59879213
  • 2008-10-21 07:08:00
  • 377

Response.Redirect() 打开新窗口的方法

一般情况下,Response.Redirect 方法是在服务器端进行转向,因此,除非使用 Response.Write(" window.location=http://dotnet.aspx.cc;...
  • Cyanapple_wen
  • Cyanapple_wen
  • 2010-03-20 13:05:00
  • 739

Response.Redirect在新窗口打开

Response.Rederect在默认情况下是在本页跳转,所以除了在js中用window.open或是给A标签添加target属性之外,在后台似乎不能来打开新的页面,其实不然,通过设置form的ta...
  • seeransky
  • seeransky
  • 2013-10-10 11:02:02
  • 456

Response.Redirect 打开新窗口的两种方法

一般情况下,Response.Redirect 方法是在服务器端进行转向,因此,除非使用 Response.Write("window.location=http://dotnet.aspx.cc...
  • hejishan
  • hejishan
  • 2008-03-11 11:43:00
  • 173

Response.Redirect在新窗口打开 + 3.5扩展方法

Response.Rederect在默认情况下是在本页跳转,所以除了在js中用window.open 或是给A标签添加target属性之外,在后台似乎不能来打开新的页面,其实不然,通过设置form的t...
  • oec2003
  • oec2003
  • 2009-01-08 11:57:00
  • 1168
收藏助手
不良信息举报
您举报文章:Response.Redirect打开新窗口的2种方法
举报原因:
原因补充:

(最多只允许输入30个字)