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.指 ...
随机推荐
- 软件测试实践平台(Mooctest)FAQ
0. 背景 我们在<软件测试技术>课程使用 MOOCTEST (mooctest.net) 作为课程的实践教学平台. 在教学过程中学生们遇到了一些问题,本文将一一总结. 注意:本文在解决问 ...
- EFCore2.1中DbFirst和CodeFirst简单使用
EFCore中没有DbFirst了吧,应该都是Code First 先说说第一种,Code First From Database(DbFirst)数据库先行,这种方式就要命令行了...(特不喜欢命令 ...
- ubuntu下sqlite命令
介绍 Linux上的小巧的数据库,一个文件就是一个数据库. 安装Sqlite3 要安装 Sqlite3,可以在终端提示符后运行下列命令: sudo apt-get install sqlite3 检查 ...
- AJPFX:外汇的技术面分析
AJPFX平台:开设外汇保证金交易账户以及入金之后,通常就可以开始交易了,但是在选择买卖时点时通常会依据两种分析,两种主要分析方法通常会被称为基本面分析和技术分析.基本面分析注重金融,经济理论和政局发 ...
- Speech Synthesis
<Window x:Class="Synthesizer.MainWindow" xmlns="http://schemas.microsoft.com/winfx ...
- MariaDB 数据类型与运算符(4)
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,MySQL由于现在闭源了,而能轻松成为MySQ ...
- day 72 crm(9) 客户关系系统,整体实现,以及自定制路由内容,客户关系梳理
前情提要: crm(9) ,利用stark 组件和,rbac组键的使用, 明确观点: 一:客户关系需求明确 1:客户关系系统,主要是,本业务逻辑主要是 销售就客户关系的业务逻辑, 二: 创建ap ...
- python packaging
python packaging 一.困惑 作为一个 Python 初学者,我在包管理上感到相当疑惑(嗯,是困惑).主要表现在下面几个方面: 这几个包管理工具有什么不同? * distutils * ...
- golang 并发顺序输出数字
参考 package main import ( "fmt" "sync/atomic" "time" ) func main() { va ...
- 课程一(Neural Networks and Deep Learning),第二周(Basics of Neural Network programming)—— 2、编程作业常见问题与答案(Programming Assignment FAQ)
Please note that when you are working on the programming exercise you will find comments that say &q ...