WebFrom 【内置对象】— —跳转页面,页面传值
Response -- 响应请求对象
传值
Response.Redirect("url"); -- 地址?变量= 值
Response -- Response响应对象, 将 http 响应数据发送的客户端
Redirect -- 重定向,将客户端重定向到新的 URL,
Response.Write("string");
-- 将此字符串输出到页面的最顶部
Request -- 获取请求对象
接收
string s = Request["key"]; -- key 为传过来的变量
Request -- 获取请求对象
key -- 抓取从地址栏传过来的值
Restonse 与 Request 组合成 QueryString 传值方式。也称为 url传值,地址传值
1、不占用服务器内存
2、保密性差,传递值的长度有限
3、只能传 string 类型
例
Response.Redirect("Default2.aspx?a="+textBox1.Text);
string s = Request[a];
label1.Text = s ;
-- textBox1.Text 文本框的值
-- 必须在地址后加 ?变量=
Session
传值
string s = textBox1.Text;
session [ " a " ]= s ;
Response.Redirect( " 地址 " );
取值
Label.Text = session[ " a " ].Tostring( );
清除
sessin[ "a" ]=null ;
特点
Session里面能存储 Object 类型
存贮在服务端,占用服务器内存,很好用,速度很快但不要滥用,容易溢出
不需要地址传值,同一服务器上可以随意访问
浏览器一旦关闭,那么会断开此条Session的连接
-- (直接打开页2,页2 无数据,页1打开页2,页2有数据,关闭页2再直接打开页2 ,页2无数据)
生命周期:20分钟,每一次新的请求都会刷新这个时间
例
//发
Student s = new Student();
s.Name = "张三";
s.Sex = "男";
Session["a"] = s;
Response.Redirect("Default2.aspx"); //收
if (Session["a"] != null)
{
Student ss = Session["a"] as Student;
Label1.Text = ss.Name + ss.Sex; }
Cookie
与Session一模一样
不一样的地方:Cookies是存储在客户端的 ,有可能被非法访问
传 string 类型,传汉字会因编码方式不同出现乱码
传值:
string s = textBox1.Text;
Response.Cookies["aa"].Value = s;
Response.Redirect( " 地址 " ); -- 只能是 string 类型
取值:
string ss = Request.Cookies["aa"].Value;
-- 只能用 Request 取值
清除(将日期变为过期)
Response.Cookies["user"].Expires = DateTime.Now.AddDays(-1);
例
1、判断、赋值
void Button1_Click(object sender, EventArgs e)
{
//判断用户名密码是否正确
if (TextBox1.Text == "zhangsan" && TextBox2.Text == "")
{
Response.Cookies["user"].Value = TextBox1.Text; if (CheckBox1.Checked) //如果选保存密码
{
Response.Cookies["user"].Expires = DateTime.Now.AddDays();
} //改会话 cookies 为持久 cookies Response.Redirect("Default2.aspx");
}
else
{
Response.Write("用户名密码错误!");
} }
2、判断取值
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//判断是否有传值过来 ——--—— 此时不加 Value
if (Request.Cookies["user"] != null)
{
Label1.Text = Request.Cookies["user"].Value + "欢迎你!";
}
else
{
Response.Redirect("Default.aspx");
}
Button1.Click += Button1_Click;
} //退出按钮
void Button1_Click(object sender, EventArgs e)
{ //改变会话时间 关闭 cookies 会话
Response.Cookies["user"].Expires = DateTime.Now.AddDays(-);
Response.Redirect("Default.aspx");
}
}
if ( Request.Cookies["user"] != null )
-- 判断是否有传值过来,此时不加 Value
Response.Cookies["user"].Expires = DateTime.Now.AddDays(3);
-- 改会话 cookies 为持久 cookies(加三天时间)
Application
全局公共变量组
使用方法:与Session一样,传任意类型,
实际运用过程中 常被用作缓存
存放位置:服务器
特点:所有访问用户都是访问同一个变量,但只要服务器不停机,变量一直存在于服务器的内存中
不要使用循环大量的创建Application对象,可能会造成服务器崩溃。
生命周期:永久,只要服务器不停机
例
string s = TextBox1.Text;
Application["aaa"] = s;
Label2.Text = Application["aaa"].ToString( );
ViewState
用于记录页面的一些状态,就像人的病例,比如当执行提交后,网页可以保留一些已经输入的文本框而非清空
webform中微软已经给我们做好了这个对象,自带此功能。
在查看源代码会发现一个自动加载的 aspNetHidden 标记,里面的隐藏域的东西就是 viewstate
.aspx 是由 .ashx .html 组成, .ashx 写后台 .html 展示
!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form action="aaaa.ashx" method="post"> <!-- post 可理解我服务端传值-->
<!-- method="get"--> <!-- get 可理解为客户端传值 -->
<input type="text" name="txt1" />
<input type="submit" value="提交" /> </form>
</body>
</html>
html
<%@ WebHandler Language="C#" Class="aaaa" %> using System;
using System.Web; public class aaaa : IHttpHandler { public void ProcessRequest (HttpContext context) { //所有的东西都要写在这个方法里
string s = context.Request["txt1"]; context.Response.Write(s);
context.Response.Redirect("HtmlPage.html"); } public bool IsReusable {
get {
return false;
}
} }
aspx
WebFrom 【内置对象】— —跳转页面,页面传值的更多相关文章
- request.setCharacterEncoding 和常用内置对象 跳转
1.直接转码 new String(name.getBytes("ISO8859_1"),"GBK") 2. request.setCharactorEncod ...
- Response内置对象
request内置对象:主要用来处理用户的请求 response内置对象:处理对用户的响应(在调用service方法时容器会传递过来) response重要方法: public void addCoo ...
- JSP 9个内置对象
JSP内置对象(隐式对象)是JSP容器为每个页面自动实例化的一组对象,开发者可直接使用,也被称为预定义变量. JSP容器提供了9个内置对象 request // javax.servlet.http. ...
- 002Jsp的内置对象
1 课程回顾 Jsp基础 1)Jsp的执行过程 tomcat服务器完成:jsp文件->翻译成java文件->编译成class字节码文件-> 构造类对象-> 调用方法 tomca ...
- 内置对象(Session、Application、ViewState)
内置对象:为了跨页面传值和状态保持.→HTTP的无状态性 [4.]Session:每一台电脑访问服务器,都会是独立的一套session,key值都一样,但是内容都是不一样的 以上所有内容,都跟cook ...
- ASP.NET 常用内置对象详解-----Response
利用提供的内置对象,可以实现页面之间的数据传递及实现一些特定的功能,如:缓冲输出,页面重定向等等. Response :响应,反应 Request:请求 Server:服务器 Application: ...
- jsp篇 之 Jsp中的内置对象和范围对象
Jsp中的内置对象: 在jsp页面代码中不需要声明,直接可以使用的对象. 一共有[9个内置对象]可以直接使用. 对象类型 名字 PageContext pageC ...
- JSP中的Java代码和内置对象
一.JSP中的Java代码 (一)JSP页面中有三种方式嵌入java代码: 1.java的表达式 格式:<%= java表达式 %> 2.java的语句 格式:<% java语句&g ...
- 在jsp中常用的内置对象(5个)小总结和两种页面跳转方式(服务器端调转、客户端跳转)的区别
jsp中常用的几个内置对象: 一.request对象 主要作用: (1)获取请求页面的信息 比如:request.getParameter("参数名"); (2)获取客户端 ...
- jsp页面元素和内置对象
java server pages其根本是一个简化的servlet设计.实现了在java当中使用html标签.javaEE标准 一.页面元素 1.静态内容 html.js.css相关标签元素. 2.指 ...
随机推荐
- .net core 与ELK(2)安装Elasticsearch可视化工具
elasticsearch-head是els的界面插件,地址https://github.com/mobz/elasticsearch-head 1.进入github并下载 wget https:// ...
- 《AngularJs实战》学习笔记(慕课网)
1. Controller使用过程中的注意点 不要试图去复用Controller, 一个控制器一般只负责一小块视图 不要在Controller中操作DOM, 这不是控制器的职责. 封装在指令里. 不要 ...
- Android Dagger 2
Dagger 2 依赖注入 1. 基本概念 最重要有四个概念,也是四个注解(annotation),Provide,Inject,Module,Component. Provide 是提供者,创建实例 ...
- 201621123018《Java程序设计》第9周学习报告
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 泛型个人认为可以理解为一种模糊的类型,在里面写入各种方法,程序员可以根据需要再创建具体类型的对象,然后调用泛型 ...
- svn重新安装后报You need to upgrade the working copy first错误
问题来源 最近重新安装了操作系统,安装了一个最新版的svn,提交代码的时候报了一个错误:You need to upgrade the working copy first,!网上找了很多解决办法,都 ...
- python音乐播放器第二版
此代码是上一期的改版 需要用到的Python库有 .pygame 2.time 3.xmusic(我自己写的用来做音乐索引) .colorama(美观) 推荐使用pip安装 方法: pip ins ...
- java爬虫学习
一.java爬取数据 示例:爬取网站中的所有古风网名:http://www.oicq88.com/gufeng/,并储存入数据库(mysql) jdk版本:jdk1.8 编辑器:idea 项目构建:m ...
- iOS-贝塞尔连续曲线
一个曲线 UIColor *color = [UIColor redColor]; [color set]; UIBezierPath *path = [UIBezierPath bezierPath ...
- 在MVC3中修改KindEditor实现上传图片到指定文件夹
KindEditor编辑器默认上传的图片文件夹,是根据系统时间自动生成的,图片是自动上传到这些文件夹里面,无法选择.如果要上传图片到指定文件夹,像相册一样管理图片,则需要扩展KindEditor编辑器 ...
- Elasticsearch Java Client连接池
按照Elasticsearch API,在Java端使用是ES服务需要创建Java Client,但是每一次连接都实例化一个client,对系统的消耗很大,即使在使用完毕之后将client close ...