使用Response.Redirect 两种方法打开一个新窗口
普通情况下,Response.Redirect 方法是在server端进行转向,因此,除非使用 Response.Write("<script>window.location='http://dotnet.aspx.cc';</script>") 方法外,是不能在新窗体打开所指定的 URL 地址的。可是,假设细致分析一下,假设设置 form 元素的 target 属性,还是有办法打开新窗体的。以下就是能够採用的两种方法。
方法一:在server端设置 target 属性,这个方案也很适用于client不支持脚本的情况。代码例如以下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protectedvoidPage_Load(objectsender, EventArgs e)
{
form1.Target ="_blank";
}
protectedvoidButton1_Click(objectsender, 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>
办法二:採用client脚本的方法设置 target 属性。代码例如以下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protectedvoidPage_Load(objectsender, EventArgs e)
{
Button1.Attributes.Add("onclick", "this.form.target='_newName'");
}
protectedvoidButton1_Click(objectsender, 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">
protectedvoidPage_Load(objectsender, EventArgs e)
{
stringWindowName ="win"+System.DateTime.Now.Ticks.ToString();
Page.RegisterOnSubmitStatement("js", "window.open('','"+WindowName +"','width=600,height=200')");
form1.Target =WindowName;
}
protectedvoidButton1_Click(objectsender, 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>
第二种弹出的方法能够參见老外的文章:
http://weblogs.asp.net/infinitiesloop/archive/2007/09/25/response-redirect-into-a-new-window-with-extension-methods.aspx
使用Response.Redirect 两种方法打开一个新窗口相关推荐
- java文件指针,Java 测试文件指针,java测试指针,两种方法打开文件并进行内
Java 测试文件指针,java测试指针,两种方法打开文件并进行内 两种方法打开文件并进行内容定位package com.ronsoft.books.nio.channels;import java. ...
- python关闭当前窗口_如何打开一个新窗口并关闭当前窗口?
我想问一下,当我在标题中写到,如何打开一个新窗口并(完全)关闭当前窗口?在 有两个.py文件.它们彼此独立,也就是说,它们都可以独立运行.在 在我的app.py有一个按钮.如果单击该按钮,我希望关闭当 ...
- wxpython窗口跳转_WxPython-用按钮打开一个新窗口
我正在创建一个界面,我需要打开一个新的窗口,点击一个按钮. 所以我创建了主窗口,创建了所有按钮,并在一个类下创建了新窗口.我不完全确定是否需要,但我也会包括这一部分信息.对python来说是新的,如果 ...
- JavaScript两种方法来定义一个函数
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- window.open window.showModelDialog 打开一个新窗口/子窗口中调用父窗口的方法
window.open 只打开一个窗口是将 oNewWindow = window . open ( sURL , sName , sFeatures , ...
- RISC-V为中国MCU企业打开一个新窗口!
随着物联网时代的真正到来,加之在2018年复杂的国际环境下,国产MCU迎来了最好的发展机遇,在这样的大形势下,国产MCU制定怎样的发展策略才能把握住这次机遇,加速自身发展,在众多竞争对手中脱颖而出? ...
- python关闭当前窗口 打开新窗口_关闭窗口,用PyQ在Python中打开一个新窗口
我是PyQt5新手,想编写一个小程序 我在QT设计器中设计了两个窗口,并将它们转换成py脚本. 后来我把两者合并成一个文件(也许我的尝试完全错了-所以请纠正我) 当程序启动时,我会看到一个小窗口,上面 ...
- 两种方法判断一个字符串是否为另外一个字符串旋转之后的字符串。(C语言)...
例如:给定s1 = AABCD和s2 = BCDAA,返回1 给定s1 = abcd和s2 = ACBD,返回0. AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA 第一种: ...
- vue 内打开一个新窗口,带传参!
有时在打开时会很卡,以下相对好一点: 在函数中 window.open(/newurl?index=${index} ); //带传参 2,页面上写一个空的a 动态拼接href, 如果你有更好的方式, ...
最新文章
- python使用imbalanced-learn的ClusterCentroids方法进行下采样处理数据不平衡问题
- Windows系统中文件解说
- attiny13a程序实例_ATtiny13A图文构成
- Java的异常跟踪栈
- NV21数据的镜像算法
- 你想要的宏基因组-微生物组知识全在这(2021.8)
- 营业执照在线生成_潍坊综合保税区发出全省首张覆盖四大市场主体类型的“微信秒批”营业执照...
- 2020蚂蚁森林自动收能量-保持更新
- React 16.x折腾记 - (7) 基于React+Antd封装聊天记录(用到React的memo,lazy, Suspense这些)
- bootstrap 页面垂直居中_bootstrap4如何实现div的水平居中以及垂直居中
- java项目小组项目总结报告_项目总结报告
- oracle判断为周一_oracle根据四位年周取当周周一的日期函数
- javaGUI绘图频闪
- 将系统(deepin15.11)装进U盘里面,在任何电脑上即插即用,使用自己的系统
- 钢琴曲欣赏[Beyond]
- 卡牌大师怎么玩_LOL钻石速成 卡牌大师崔斯特完美攻略
- AutoCAD_创建直线,圆弧,圆
- 淘宝镜像已经更改成Ruby China
- android中强行停止(forceStopPackage)对alarmManager、Receiver的影响
- 计算机统考试题结构,计算机考研统考科目考试内容和试卷题型结构