一、内置对象

(一)Response - 响应请求对象
1.定义:Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应。Response对象只提供了一个数据集合cookie,它用于在客户端写入cookie值。若指定的cookie不存在,则创建它。若存在,则将自动进行更新。结果返回给客户端浏览器。
2.方法
(1)Redirect
用法:Response.Redirect("url")
作用是在服务器端重定向于另一个网页
(2)Write
功能:向客户端发送浏览器能够处理的各种数据,包括:html代码,脚本程序等
用法:Response.Write("")输入字符串在界面里显示,输入<script>alert('')</script>弹出对话框
(二)Request - 获取请求对象
Request["key"] - 默认返回的就是string类型
来获取传递过来的值,Request对象的作用是与客户端交互,收集客户端的Form、Cookies、超链接,或者收集服务器端的环境变量。

(三)Session  相对全局对象

在不同的浏览器之间传值,像银行之类的网站为了安全把用户名密码保存在session里面。每一台电脑访问服务器,都会是独立的一套session,key值都一样,但是内容都是不一样的。

赋值:Session["key"] = 值;

在另一个网页取值:首先先要判断Session["key"] 是不是null,不是的话取值,否则定向到原网页

string a = Session["key"];

优缺点:

Session是非常安全的,因为它存在于服务器的内存中,取数据也是最快的;但是,Session不要滥用,因为会造成服务器内存溢出,导致服务器崩溃
Session里面不要放大东西,如果不用那么就会造成资源浪费。

Session生命周期:20分钟

(四)Cookies

赋值:   Response.Cookies["key"].Value =值;

取值: Request.Cookies["key"].Value;

与Session比较:

相同点:每一台电脑访问服务器,都会是独立的一套session或者Cookies,key值都一样,但是内容都是不一样的。

不同点:●Session的保存位置是保存在服务器内存上,Cookies保存在用户硬盘上

●Session没有持久的,在不对页面进行任何操作的情况下,它的保存周期就是20分钟;Cookies可以持久也可不持久,取决于用户

设置生命周期: Response.Cookies["key"].Expires = DateTime.Now.AddDays(7);//保存7天

问题:如果传的是中文会乱码

解决方法:

string a = HttpUtility.UrlEncode(值, System.Text.Encoding.GetEncoding("utf-8"));
Response.Cookies["key"].Value = a;
Response.Redirect("Default2.aspx");
if (Request.Cookies["user"] != null)          解码
{
string a = HttpUtility.UrlDecode(Request.Cookies["key"].Value, System.Text.Encoding.GetEncoding("utf-8"));
Label1.Text = a;
}

(五)Application

它是全局对象,全局只有这一个对象
只要被创建出来,所有人取的值都是一样的
生命周期:永久
保存位置:服务端

赋值:Application["key"]=值;
取值:Application("key");

(六)ViewState(了解)

理解成为病例

类似于中间过程,由于网页的不固定性,点击按钮会刷新,控件赋得值借助iewstate保存,把刷新前的值保存成专门代码。刷新后再赋值给控件

二、Repeater的Command操作

1、ItemCommand事件 :在Repeater中所有能触发事件的控件,都会来触发这一个事件

后台创建:在Page_Load中  Repeater1.ItemCommand +=  ,然后双击Tab键创建

2、CommandName : 判断点击的是什么按钮,

 后台调用:e.CommandName

3、CommandArgument : 触发事件所传递过来的主键值数据,放在这里面 界面值绑定时要用  单引号 !!!!!!

后台调用:e.CommandArgument

已删除为例

   <asp:Button ID="Button1" CommandName="Delete" CommandArgument=<%#Eval("UserName") %> runat="server" Text="删除" />  //前台代码
--------------------------------------------------------------------------------------
后台代码
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Repeater1.DataSource = new UsersData().Select();
Repeater1.DataBind();
} Repeater1.ItemCommand += Repeater1_ItemCommand;
} void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
new UsersData().Delete(e.CommandArgument.ToString());
} } }

webform(内置对象)的更多相关文章

  1. WebForm 内置对象2

    Session: 与Cookies相比 相同点:每一台电脑访问服务器,都会是独立的一套session,key值都一样,但是内容都是不一样的 以上所有内容,都跟cookies一样 不同点: 1.Sess ...

  2. WebForm 内置对象

    内置对象: Response对象:响应请求 Response.Write("<script>alert('添加成功!')</script>"); Respo ...

  3. C# WebForm内置对象2+Repeater的Command

    内置对象:用于页面之间的数据交互 为什么要使用这么内置对象?因为HTTP的无状态性. Session:在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及 ...

  4. C#WebForm内置对象

    内置对象: Response对象:响应请求Response.Write("<script>alert('添加成功!')</script>");Respons ...

  5. WebForm 内置对象QueryString、Repeater删改

    一.内置对象QueryString--地址栏数据拼接 格式:?key=value 如:string path = "Default2.aspx?aaa=" + TextBox1.T ...

  6. WebForm 内置对象、数据增删改、状态保持

    一.内置对象 1.Response对象:响应请求 Response.Write("<script>alert('添加成功!')</script>"); → ...

  7. 【2017-05-22】WebForm内置对象:Application和ViewState、Repeater的Command用法

    一.内置对象 1.Application 存贮在服务器端,占用服务器内存生命周期:永久 所有人访问的都是这一个对象 传值:传的是object类型可以传对象. string s =TextBox1.Te ...

  8. WebForm内置对象:Application和ViewState、Repeater的Command用法

    一.内置对象 1.Application 存贮在服务器端,占用服务器内存生命周期:永久 所有人访问的都是这一个对象 传值:传的是object类型可以传对象. string s =TextBox1.Te ...

  9. Webform 内置对象2(Session、Application)、Repeater的Command操作

    内置对象: 1.Session:跟Cookies一样用来存储用户数据,但保存位置不同,保存在服务器内存上 每一台电脑访问服务器,都会是独立的一套session,key值都一样,但是内容都是不一样的 S ...

  10. webform内置对象

    1.Response和Request地址栏数据拼接 QueryString 优点:简单好用:速度快:不消耗服务器内存. 缺点:只能传字符串:保密性差(调转页面后在地址栏显示):长度有限.响应请求对象 ...

随机推荐

  1. 谷歌面经 Tree Serialization

    http://www.careercup.com/question?id=4868040812396544 You should transform an structure of multiple ...

  2. nginx+lua_nginx+GraphicsMagick生成实时缩略图

    暂做笔记,带后续验证通过后,再补充 1.2.3 步. 一.安装 lua 首先确认是否安装 readline yum -y install readline-devel ncurses-devel 进入 ...

  3. JsonView Tool

  4. Money类

    public class Money { /// <summary> /// 要转换的数字 /// </summary> private double j; private s ...

  5. JS算法总结

    1.选择排序: var arr = [3,6,7,2,6,4,1,6,8,24,12,53]; function sort(arr){ // 当数组的长度小于1的时候结束递归 if(arr.lengt ...

  6. java中反射机制通过字节码文件对象获取字段和函数的方法

    pclass = Class.forName("get_class_method.Person"); //Field ageField = pclass.getField(&quo ...

  7. 编写高质量JS代码的68个有效方法(九)

    No.41.将原型视为实现细节 Tips: 对象是接口,原型是实现 避免检查你无法控制的对象的原型结构 避免检查实现在你无法控制的对象内部的属性 我们可以获取对象的属性值和调用其方法,这些操作都不是特 ...

  8. Reinforcement Learning

    Q-learning 高潮博文 http://mnemstudio.org/path-finding-q-learning-tutorial.htm 模式识别与机器学习的区别. http://www. ...

  9. Hadoop第7周练习—MapReduce进行数据查询和实现推简单荐系统

    1.1 1.2 :计算员工相关 2.1 内容 :求各个部门的总工资 :求各个部门的人数和平均工资 :求每个部门最早进入公司的员工姓名 :求各个城市的员工的总工资 :列出工资比上司高的员工姓名及其工资 ...

  10. HMM 自学教程(六)维特比算法

    本系列文章摘自 52nlp(我爱自然语言处理: http://www.52nlp.cn/),原文链接在 HMM 学习最佳范例,这是针对 国外网站上一个 HMM 教程 的翻译,作者功底很深,翻译得很精彩 ...