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.指 ...
随机推荐
- AlexNet详解3
Reference. Krizhevsky A, Sutskever I, Hinton G E. ImageNet Classification with Deep Convolutional Ne ...
- docker - 从安装到部署一个web应用(go、java)
一:安装docker 1.https://docs.docker.com/engine/installation/binaries/ 下载docker最新版二进制tar.gz linux下: wget ...
- 通过 NewLife.XCode 迁移任意现有数据库到任意数据库
通过 NewLife.XCode 迁移任意现有数据库到任意数据库(附分表分库方法) 本文背景是将其他系统的数据库迁移到另一个数据库(仅需 20 行代码),也可以作为项目迁移用,生成自己系统的专属实体代 ...
- WPF实战案例-数据代理
在我们wpf开发中,很多人会有mvvm模式去做wpf的项目. 是否有人遇到这样一个场景:在一个界面上,有个tabcontrol上面有4个页签,每个页签里面都有一个datagrid,里面显示的列基本一样 ...
- Android开发教程 - 使用Data Binding(四)在Fragment中的使用
本系列目录 使用Data Binding(一)介绍 使用Data Binding(二)集成与配置 使用Data Binding(三)在Activity中的使用 使用Data Binding(四)在Fr ...
- 【Atcoder】 AGC032赛后总结
比赛前 emmm,今天是场AGC,想起上次我的惨痛经历(B都不会),这次估计要凉,可能A都不会Flag1 比赛中 看场看了波\(A\),咦,这不是很呆的题目吗?倒着扫一遍就好了. 然后切了就开始看B, ...
- mysql5.7 安装错误解决
1.5.7初始化报错 2019-04-29 21:40:34 [ERROR] Child process: /home/work/mysql/bin/mysqldterminated prematur ...
- BZOJ 3940--[Usaco2015 Feb]Censoring(AC自动机)
3940: [Usaco2015 Feb]Censoring Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 723 Solved: 360[Subm ...
- HTML引入JS文件
浏览器解析HTML文件时,先判断script 标签中是否有src属性,有则执行指定路径下的JS文件,没有则执行script标签中的js脚本. 1. HTML内嵌JS head里面添加script元素, ...
- 弹出AlertDialog的时候报You need to use a Theme.AppCompat theme (or descendant) with this activity错误
今天遇到一个bug,用百度地图的时候,我对上面的标注设置了点击监听,设置的相应的反应是弹出一个AlertDialog 记录一解决bug的历程 但是Dialog却没有弹出来,一看AS下面,报了这错,起初 ...