惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
Netflix TechBlog - Medium
I
InfoQ
Engineering at Meta
Engineering at Meta
Jina AI
Jina AI
Recent Announcements
Recent Announcements
T
The Blog of Author Tim Ferriss
P
Proofpoint News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
D
Docker
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
GbyAI
GbyAI
博客园 - Franky
博客园 - 聂微东
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 叶小钗
酷 壳 – CoolShell
酷 壳 – CoolShell
B
Blog RSS Feed
WordPress大学
WordPress大学
MyScale Blog
MyScale Blog
月光博客
月光博客
罗磊的独立博客

博客园 - 想想

通过 ASP.NET 4.0、Visual Studio 2010 和 IIS7 实现的搜索引擎优化 WidgetIfYr.com:将代码转化为Widget TheUniformProject:1件衣服365种穿法 模板页全球化 使用SandCastle和HTML Help 2.0集成XML代码注释到VS2005和VS2008 iCalendar 中文VS2008安装MVC框架后,不显示相关模板 无法在证书存储区中找到清单签名证书 HttpModule实现简单权限限制访问 什么是数据持久性? 向google,baidu,yahoo,msn,sogou等搜索引擎提交网站 什么是 ASP.NET? (悼念四川地震死难者)使整个网页变黑白色(灰色)的特效代码 window.open 参数 详细说明 如果有一些引用存在于标记中,则不会重命名这些引用,要继续吗 如何用VS2005制作Web安装程序 ASP.NET弹出日历 在IIS 6.0环境下运行ASP.NET 1.1 CSS色谱表
Response.Redirect 打开新窗口的方法
想想 · 2008-04-23 · via 博客园 - 想想

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

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

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 属性。代码如下:

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
>

<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 属性可以采用任何合法的名称,但要注意,如果相同名称的窗口已经打开,则新窗口会在已经存在名称的窗口里打开。