ASP.Net中常用到的几种跳转方式;Response.Redirect()、sever.execute、Response.Write()

1、Response.Redirect(" ");

这种跳转页面方法速度不快,因为它要走2次来回(PostBack),但它可以跳转到任何页面,没有站点页面限制,同时不能跳过登录保护;速度慢是最大缺陷!

Redirect跳转机制:首先是发送一个http请求到客户端,通过需要跳转到新页面,然后客户端再发送跳转请求到服务器端。要注意的是跳转后内部空间保存的所有数据信息将丢失,所以需要用到Session Cookies Application等对象进行页面间的数据传递。

Response.Redirect("/View/Home.aspx",false);//false:是否关闭当前页面;(“ ”)默认为关闭

带参数跳转

1.使用queryString传值,跳转到指定页面

Response.Redirect("/View/Home.apsx"+"?userName="+userName+"&passWord="+passWord);

获取参数

this.Label1.Text = Request.QueryString["userName"];
this.Label2.Text = Request.QueryString["passWord"];

2.使用Application传值,跳转到指定页面

Application["userName"] = userName;
Application["passWord"] = passWord;
Response.Redirect("/View/Home.aspx");

获取参数

this.Label1.Text = Application["userName"].ToString();
this.Label2.Text = Application["passWord"].ToString();

3.使用Session传值,跳转到指定页面

Session["userName"] = userName;
Session["passWord"] = passWord;
Response.Redirect("/View/Home.aspx");

获取参数

this.Label1.Text = Session["userName"].ToString();
this.Label2.Text = Session["passWord"].ToString();

4.使用Cookie传值,跳转到指定页面(cookie存放中文乱码使用HttpUtility.UrlEncode()编码)

HttpCookie cookieName =new HttpCookie("userName",HttpUtility.UrlEncode(UserName));
HttpCookie cookiePwd = new HttpCookie("passWord",HttpUtility.UrlEncode(PassWord));
Response.Cookies.Add(cookieName);
Response.Cookies.Add(cookiePwd);
Response.Redirect("/View/Home.aspx");

获取参数(提取时需HttpUtility.UrlDecode()解码)

this.Label1.Text = HttpUtility.UrlDecode(Request.Cookies["userName"].Value);
this.Label2.Text = HttpUtility.UrlDecode(Request.Cookies["passWord"].Value);

2、sever.execute

主要是用在页面设计上面,而且它必须是跳转同一站点下的页面;这个方法是需要将一个页面的输出结果插入到另一个aspx页面的时候使用,大部分是在表格中,将某一个页面类似于嵌套的方式存在于另一页面。

例子:

1.创建一个webform页面,“Home.aspx”

2.在“Home.aspx”放置一个button1,在放置两个TextBox1,TextBox2

3.创建过程来返回TextBox1,TextBox2控件的值代码如下:

4.定义一个实体类,并创建一个实体对象集合;

5.给button1添加点击事件,给实体集合添加数据

代码如下↓↓↓

//创建对象过程返回文本框的值public string Name{get{return text1.Text;}}public string EMail{get{return text2.Text;}}//创建一个实体public class stuModel{public string Name { get; set; }public int Age { get; set; }public string Sex { get; set; }}//创建实体集合对象public List<stuModel> stu = new List<stuModel>();protected void btn_Click(object sender, EventArgs e){//给实体集合添加数据stu = new List<stuModel>(){new stuModel(){ Name="张三",Age=18,Sex="男"},new stuModel(){ Name="洁芬",Age=18,Sex="女"}};Server.Transfer("/View/studentData.aspx");}

6.创建一个页面,“studentData.aspx”

然后获取值代码如下↓↓↓

//创建原始窗体的实例
Home home;
//获得实例化的句柄(页面对象)
home = (Home)Context.Handler;//获取Home.aspx页面文本框输入的值
this.Label1.Text = home.Name;
this.Label2.Text = home.EMail;//获取Home.aspx页面实体集合的值
List<Home.stuModel> stu = home.stu;

3、server.transfer(这种没尝试)

4、Response.Write("");

写入JavaScript代码实现跳转(传参数也是在跳转url后面拼接)

Response.Write("<script languge='javascript'>parent.location.href='/View/Login.aspx';</script>");

WebForm常用的页面跳转方式相关推荐

  1. JavaWeb 页面跳转方式

    文章目录 一.页面跳转方式 二.JDBC API 总结 一.页面跳转方式 (1)javascript方式跳转             window.location.href = "跳转的地 ...

  2. mui几种页面跳转方式对比

    mui几种页面跳转方式对比 http://blog.csdn.net/uikoo9/article/details/44676963 [几种打开页面的方式] 1.初始化时创建子页面 2.直接打开新页面 ...

  3. JavaWeb 页面跳转方式连接数据库

      今天是JavaWeb的第三节课,今天小编主要带大家学习页面跳转方式和连接数据库操作登录,大家有什么不懂的在下方评论或者私信,看到了一定会为大家解答的. 目录 一.界面跳转 JS中的跳转 Java中 ...

  4. js 跳转html,js页面跳转方式 js页面跳转举例

    js页面跳转,在日常的开发中,经常被用到,因为它灵活方便. 本文为大家收集了几种js页面跳转的方式,供朋友们参考. 方式1: 复制代码 代码示例: window.location.href=" ...

  5. springMVC 几种页面跳转方式

    今天主要写一下响应界面跳转的几种方式 1.在注解的方式中 1.1通过HttpServletResponse的API直接输出(不需要配置渲染器) controller类的主要代码 @Controller ...

  6. vue中页面跳转传值_vue的页面跳转方式和传值、取值

    写业务中,从一个页面跳转到另一个页面,经常需要传值和取值,如何实现? 1.通过router-link进行跳转,传递方式: 使用query传递参数,路由必须使用path引入, 使用params传递参数, ...

  7. java 转jsp_【转】JSP三种页面跳转方式

    使用JSP大约有下列三种跳转方式: 1. response.sendRedirect(); 2. response.setHeader("Location","" ...

  8. 搞定iOS的几种页面跳转方式

    前言 对于新手来说,iOS的几种跳转方式还挺繁琐的,下面就来一一介绍 1.不带任何布局文件的viewController之间的跳转 MyViewController *vc = [[MyViewCon ...

  9. 微信小程序页面跳转方式+跳转小程序(直接复制代码可用)

    一. 微信小程序跳转页面方法 1.跳转到 tabBar 页面 wx.switchTab({url: '/index' }) 2.跳转到其他页面(非tabBar页) //redirectTo方法(会关闭 ...

最新文章

  1. tensorflow中转置卷积运算例子
  2. 听说英飞凌内推技术岗位有大额奖金
  3. 【百度地图API】如何使用suggestion--下拉列表方式的搜索建议
  4. [LeetCode] Binary Tree Paths - 二叉树基础系列题目
  5. Spring 使用context:annotation-config的设置
  6. CF1242C-Sum Balance【状压dp】
  7. python设置格式模板
  8. 【牛客 - 315F】美丽的项链(线性dp,递推,我为人人)
  9. 一文看懂专有网络和交换机的定义及关系
  10. 初始化跟路由相关的定时器
  11. 常见六大 Web 安全攻防解析 | 技术头条
  12. C语言项目大作业万历年,用C语言编写万历,详细代码.doc
  13. 电动汽车蒙特卡洛分析matlab 通过matlab程序编写电动汽车蒙特卡洛模型
  14. 主板诊断卡的使用方法视频教程
  15. 解决安装C4D打不开的问题 Cinema 4D R25 Mac中英文 支持M1intel处理器(附经验分享——lib4d文件如何导入)
  16. php融云开源sdk使用im,开源项目索引
  17. 密码学与网络安全—知识点总结
  18. python之文件处理
  19. 付永刚计算机信息安全技术课后答案
  20. UEFI原理与编程实践--UEFI系统的启动过程

热门文章

  1. 备份win7系统时 弹出服务无法启动错误0x80070422
  2. 使用QList还是QVector的问题
  3. Qt入门教程【项目篇】CMake项目模板
  4. windows 10系统自动更新后卡顿
  5. $.ajax同步请求,异步请求
  6. java 方法数统计_利用Java简单实现一个代码行数统计器方法实例
  7. 一位餐饮老板生意上的策略与心得
  8. 使用static静态内部类注意事项
  9. wxPython Image PIL Image 之间的转换方法
  10. Codeforces Round #636 (Div. 3) ——A. Candies 题解