WebForm常用的页面跳转方式
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常用的页面跳转方式相关推荐
- JavaWeb 页面跳转方式
文章目录 一.页面跳转方式 二.JDBC API 总结 一.页面跳转方式 (1)javascript方式跳转 window.location.href = "跳转的地 ...
- mui几种页面跳转方式对比
mui几种页面跳转方式对比 http://blog.csdn.net/uikoo9/article/details/44676963 [几种打开页面的方式] 1.初始化时创建子页面 2.直接打开新页面 ...
- JavaWeb 页面跳转方式连接数据库
今天是JavaWeb的第三节课,今天小编主要带大家学习页面跳转方式和连接数据库操作登录,大家有什么不懂的在下方评论或者私信,看到了一定会为大家解答的. 目录 一.界面跳转 JS中的跳转 Java中 ...
- js 跳转html,js页面跳转方式 js页面跳转举例
js页面跳转,在日常的开发中,经常被用到,因为它灵活方便. 本文为大家收集了几种js页面跳转的方式,供朋友们参考. 方式1: 复制代码 代码示例: window.location.href=" ...
- springMVC 几种页面跳转方式
今天主要写一下响应界面跳转的几种方式 1.在注解的方式中 1.1通过HttpServletResponse的API直接输出(不需要配置渲染器) controller类的主要代码 @Controller ...
- vue中页面跳转传值_vue的页面跳转方式和传值、取值
写业务中,从一个页面跳转到另一个页面,经常需要传值和取值,如何实现? 1.通过router-link进行跳转,传递方式: 使用query传递参数,路由必须使用path引入, 使用params传递参数, ...
- java 转jsp_【转】JSP三种页面跳转方式
使用JSP大约有下列三种跳转方式: 1. response.sendRedirect(); 2. response.setHeader("Location","" ...
- 搞定iOS的几种页面跳转方式
前言 对于新手来说,iOS的几种跳转方式还挺繁琐的,下面就来一一介绍 1.不带任何布局文件的viewController之间的跳转 MyViewController *vc = [[MyViewCon ...
- 微信小程序页面跳转方式+跳转小程序(直接复制代码可用)
一. 微信小程序跳转页面方法 1.跳转到 tabBar 页面 wx.switchTab({url: '/index' }) 2.跳转到其他页面(非tabBar页) //redirectTo方法(会关闭 ...
最新文章
- tensorflow中转置卷积运算例子
- 听说英飞凌内推技术岗位有大额奖金
- 【百度地图API】如何使用suggestion--下拉列表方式的搜索建议
- [LeetCode] Binary Tree Paths - 二叉树基础系列题目
- Spring 使用context:annotation-config的设置
- CF1242C-Sum Balance【状压dp】
- python设置格式模板
- 【牛客 - 315F】美丽的项链(线性dp,递推,我为人人)
- 一文看懂专有网络和交换机的定义及关系
- 初始化跟路由相关的定时器
- 常见六大 Web 安全攻防解析 | 技术头条
- C语言项目大作业万历年,用C语言编写万历,详细代码.doc
- 电动汽车蒙特卡洛分析matlab 通过matlab程序编写电动汽车蒙特卡洛模型
- 主板诊断卡的使用方法视频教程
- 解决安装C4D打不开的问题 Cinema 4D R25 Mac中英文 支持M1intel处理器(附经验分享——lib4d文件如何导入)
- php融云开源sdk使用im,开源项目索引
- 密码学与网络安全—知识点总结
- python之文件处理
- 付永刚计算机信息安全技术课后答案
- UEFI原理与编程实践--UEFI系统的启动过程
热门文章
- 备份win7系统时 弹出服务无法启动错误0x80070422
- 使用QList还是QVector的问题
- Qt入门教程【项目篇】CMake项目模板
- windows 10系统自动更新后卡顿
- $.ajax同步请求,异步请求
- java 方法数统计_利用Java简单实现一个代码行数统计器方法实例
- 一位餐饮老板生意上的策略与心得
- 使用static静态内部类注意事项
- wxPython Image PIL Image 之间的转换方法
- Codeforces Round #636 (Div. 3) ——A. Candies 题解