asp.net中几个网页跳转的方法及区别
1:注意:Response.Redirect("a.html")是不能跳出框架、IFRAME的。
可以使用
Response.Write("<script Language=\"Javascript\">top.location=\"login.aspx\";</script>");
asp.net中Page.ClientScript.RegisterStartupScript用法小结
http://blog.csdn.net/qiujialongjjj/article/details/6680252
//ASP.NET后台页面跳转
Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>if(confirm('保存成功!是否继续添加?')){location.href='ProductonAdd.aspx'}else{location.href='ProductonList.aspx'}</script>"); //后台弹出确定框 ClientScript.RegisterStartupScript(GetType(), "message", "<script>alert('请正确输入!');</script>"); //ASP.NET后台页面跳转 Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('数据添加成功!');{location.href='ProductonList.aspx'}</script>"); 或 Page.ClientScript.RegisterStartupScript(typeof(string), "", "<script>window.location.href='AdminMain.aspx';</script>"); //后台弹出文本框
ScriptManager.RegisterStartupScript(Page, typeof(string), "popUp", "window.open('rptView.aspx','打印预览','toolbar=no,location=no,scrollbars=yes,top=200px,left=200px,width=904px,height=650px')", true);
ASP.NET的Page类的RegisterStartupScript函数解析
http://blog.163.com/budong_weimin_zh/blog/static/129198524201062024654838/
ScriptManager.RegisterStartupScript 方法
http://www.cnblogs.com/weicleer/archive/2012/11/28/2792421.html
使用 RegisterStartupScript 方法,可为与部分页面呈现兼容且不具有 Microsoft AJAX Library 依赖项的页面注册启动脚本块。 仅当正在注册该块的控件位于要更新的 UpdatePanel 控件内时,才将通过使用此方法注册的启动脚本块发送到页面。 若要在每次发生异步回发时都注册启动脚本块,请使用该方法的 RegisterStartupScript(Page, Type, String, String, Boolean) 重载。
如果要注册与部分页面更新无关的启动脚本,并且只想在初始页面呈现期间注册一次该脚本,请使用 ClientScriptManager 类的RegisterStartupScript 方法。 可以从页面的 ClientScript 属性获取对 ClientScriptManager 对象的引用。
RegisterStartupScript 方法所呈现的脚本块会在页面完成加载之时、但页面的客户端 onload 事件引发之前执行。 启动脚本块位于呈现的 ASP.NET 页面底部的 </form> 标记之前。
不能保证使用 RegisterStartupScript 注册的启动脚本块按照其注册顺序输出。 如果启动脚本块的顺序很重要,请使用 StringBuilder 对象将脚本块集中到一个字符串中,然后将它们作为单个启动脚本进行注册。
protected override void OnInit(EventArgs e)
{
if (Request.Cookies["userinfo"] != null && Request.Cookies["userinfo"]["UserCode"] != null)
{
//to do other thing
}
else
{
//Response.Write("<script>parent.location='../SysManage/login.aspx'</script>");
Response.Write("<script Language=\"Javascript\">window.location=\"../SysManage/login.aspx\";</script>");
Response.End();
//Response.Redirect("../SysManage/login.aspx");//注:当网页回退时,上面两种方式并不能够返回
return;
} base.OnInit(e);
}
注意:
当网页回退时:
如果有iframe时,采用redirect方法是可以返回的,但是只是将iframe中的网页返回,此时显示是有问题的。
当采用write方法时,需要执行Response.End(); 否则子类会继续执行下去,响应请求。当调用end方法时,会立即停止该页的执行
asp.net中几个网页跳转的方法及区别的更多相关文章
- ASP.NET中重复表格列合并的实现方法(转自脚本之家)
这几天做一个项目有用到表格显示数据的地方,客户要求重复的数据列需要合并,就总结了一下.NET控件GridView 和 Repeater 关于重复数据合并的方法. 这是合并之前的效果: 合并之后的效果图 ...
- 小结php中几种网页跳转
1.使用网页中<a href=.....></a>实现跳转: 2.<form action="php_request2.php" method=&qu ...
- ASP.NET 中 POST 数据并跳转页面(译自 Redirect and POST in ASP.NET)
本文翻译自 Samer Abu Rabie 的 <Redirect and POST in ASP.NET> 简介 在实际项目中,我们会遇到这样一种应用场景:我们需要与第三方 ...
- ASP.NET中实现页面间数据传递的方法
说到页面间数据传递,很多人都会想到通过像Session这样的全局变量,但是向Session中添加的东西太多会增加服务器的压力,页面间数据传递,数据的作用范围越小越好. ASP.NET页面间数据传递 ...
- Asp.net中static变量和viewstate的使用方法(谨慎)
在.Net平台下进行CS软件开发时,我们经常遇到以后还要用到某些变量上次修改后的值,为了简单起见,很多人都习惯用static来定义这些变量,我也是.这样非常方便,下一次调用某个函数时该变量仍然保存的是 ...
- [ASP.NET]ASP.NET中常用的26个优化性能方法
1. 数据库访问性能优化 数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET中提供了连接池( ...
- ASP.NET中常用的26个优化性能方法
1. 数据库访问性能优化 数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多 次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET 中提供了 连 ...
- linux系统中如何进入退出vim编辑器,方法及区别
在linux家族中,vim编辑器是系统自带的文本编辑器,其功能强大自不必说了.偶有小白,刚接触linux,要修改某个文本文件,不可能像WINDOWS那样操作,更有甚者,进入VI编辑器后,无法退出以致强 ...
- [转] linux系统中如何进入退出vim编辑器,方法及区别
原文链接:http://www.cnblogs.com/crazylqy/p/5649860.html 在linux家族中,vim编辑器是系统自带的文本编辑器,其功能强大自不必说了. 偶有小白,刚接触 ...
随机推荐
- Android:WebView中对图片注册上下文菜单
前言 今天一朋友问我一个问题,就是如何在WebView控件中的图片增加上下文菜单,以便增加保存图片等功能.今天就给他简单做了一个演示Demo,现写下来,给有相同问题的朋友提供些许思路吧. 概要实现 其 ...
- XAML 概述四
这一节我们来简单介绍一下XAML的加载和编译,它包括如下三种方式: · 只使用代码 · 使用代码和未编译的XAML · 使用代码和编译过的BAML 一. 只使用代码 我们首先创建一个简单的控制台 ...
- System V消息队列
消息的基本属性 System V的消息属性包含在一个msqid_ds的结构中 struct msqid_ds{ struct ipc_cerm msg_perm; //读取权限, 0644, 0777 ...
- TIME_WAIT引起Cannot assign requested address报错
1. 问题描述 有时候用redis客户端(php或者java客户端)连接Redis服务器,报错:"Cannot assign requested address." 原因是客户端 ...
- 获取iOS设备的内存状况(转)
转载自:http://mobile.51cto.com/iphone-285371.htm iPhone这类移动设备内存有限,而又不能使用交换区,为了不至于导致内存不足而引起运行效率降低或应用崩溃 ...
- ECSHOP模糊分词搜索和商品列表关键字飘红功能
ECSHOP联想下拉框 1.修改page_header.lbi模版文件,将搜索文本框修改为: <input name="keywords" type="text&q ...
- UML 小结(6)- UML九种图的比较与学习
UML中的九种图: 用例图.类图.对象图.状态图.时序图.协作图.活动图.部署图.构件图. 1)用例图(Use Case Diagram) 它是UML中最简单也是最复杂的一种图.说它简单是因为它采用了 ...
- 给同一个表中的两个外键写sql
一个表有两个外键都指向另一个表的主键时,如何检索他们的数据? 例如,表TableA有两个列,puserID和friendID. 表TableB有两个列,userID和userName. 我们怎样检索数 ...
- ACCESS数据库C#操作类(包含事务)
转自http://blog.csdn.net/allen3010/article/details/6336717 这个是针对ACCESS数据库操作的类,同样也是从SQLHELPER提取而来,分页程序的 ...
- For和While在C和MATLAB中的区别——MATLAB的大坑
For和while是常见的循环关键字,在许多语言中都是通用的.但是想必不是所有人,都被其中的区别困扰过,尤其是MATLAB“程序员”. x=[,,,,,,]; i=; while i<=leng ...