webform(内置对象)
一、内置对象
(一)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(内置对象)的更多相关文章
- WebForm 内置对象2
Session: 与Cookies相比 相同点:每一台电脑访问服务器,都会是独立的一套session,key值都一样,但是内容都是不一样的 以上所有内容,都跟cookies一样 不同点: 1.Sess ...
- WebForm 内置对象
内置对象: Response对象:响应请求 Response.Write("<script>alert('添加成功!')</script>"); Respo ...
- C# WebForm内置对象2+Repeater的Command
内置对象:用于页面之间的数据交互 为什么要使用这么内置对象?因为HTTP的无状态性. Session:在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及 ...
- C#WebForm内置对象
内置对象: Response对象:响应请求Response.Write("<script>alert('添加成功!')</script>");Respons ...
- WebForm 内置对象QueryString、Repeater删改
一.内置对象QueryString--地址栏数据拼接 格式:?key=value 如:string path = "Default2.aspx?aaa=" + TextBox1.T ...
- WebForm 内置对象、数据增删改、状态保持
一.内置对象 1.Response对象:响应请求 Response.Write("<script>alert('添加成功!')</script>"); → ...
- 【2017-05-22】WebForm内置对象:Application和ViewState、Repeater的Command用法
一.内置对象 1.Application 存贮在服务器端,占用服务器内存生命周期:永久 所有人访问的都是这一个对象 传值:传的是object类型可以传对象. string s =TextBox1.Te ...
- WebForm内置对象:Application和ViewState、Repeater的Command用法
一.内置对象 1.Application 存贮在服务器端,占用服务器内存生命周期:永久 所有人访问的都是这一个对象 传值:传的是object类型可以传对象. string s =TextBox1.Te ...
- Webform 内置对象2(Session、Application)、Repeater的Command操作
内置对象: 1.Session:跟Cookies一样用来存储用户数据,但保存位置不同,保存在服务器内存上 每一台电脑访问服务器,都会是独立的一套session,key值都一样,但是内容都是不一样的 S ...
- webform内置对象
1.Response和Request地址栏数据拼接 QueryString 优点:简单好用:速度快:不消耗服务器内存. 缺点:只能传字符串:保密性差(调转页面后在地址栏显示):长度有限.响应请求对象 ...
随机推荐
- LeetCode: 3_Longest Substring Without Repeating Characters | 求没有重复字符的最长子串的长度 | Medium
题目: Given a . For . 解题思路: 这个题让找一个字符串中具有不重复单词的最长子串的长度,如:ababc,子串为abc,长度为3.有这么几个方法: 方法一: 依赖字符串本身的一些特有函 ...
- mysql 索引- 笔记
索引 mysql最常用的索引结构是btree(O(log(n))),但是总有一些情况下我们为了更好的性能希望能使用别的类型的索引.hash就是其中一种选择,例如我们在通过用户名检索用户id的时候,他们 ...
- 基于Java的数据采集(终结篇)
关于写过关于JAVA采集入库的三篇文章: 基于Java数据采集入库(一):http://www.cnblogs.com/lichenwei/p/3904715.html 基于Java数据采集入库(二) ...
- c/c++: c++继承 内存分布 虚表 虚指针 (转)
http://www.cnblogs.com/DylanWind/archive/2009/01/12/1373919.html 前部分原创,转载请注明出处,谢谢! class Base { pu ...
- 在ASP.NET开发中容易忽略的2个小问题
本文地址:http://www.cnblogs.com/outtamyhead/p/3642729.html,转载需保留本地址. 最近在我的MVC项目中出现了两个非常小,但是往往惹出大麻烦的问题,借中 ...
- mysql 行转列
SELECTREPLACE(GROUP_CONCAT(IF(ItemID=1101,ItemValue,"")),',',"") AS 'Item1101',R ...
- AutoLayout那些坑
最近在做一个聊天界面,要适配iOS所有屏幕. 以前的思路是键盘弹出的时候去改table 和输入框的frame. 现在发现和autolayout的约束有冲突. 搞了半天发现需要动态改Constraint ...
- Mina、Netty、Twisted一起学(二):TCP消息边界问题及按行分割消息
在TCP连接开始到结束连接,之间可能会多次传输数据,也就是服务器和客户端之间可能会在连接过程中互相传输多条消息.理想状况是一方每发送一条消息,另一方就立即接收到一条,也就是一次write对应一次rea ...
- UWP开发入门(十四)—— UserControl中Adaptive UI的小技巧
本篇我们通过绘制一个非常简单的UserControl控件,来分享一下对Adaptive UI的理解及一些图形绘制的技巧. 现在流行的APP都少不了精致的用户头像,首先假设我们需要绘制如下的图形作为默认 ...
- Dell_r720服务器部署
没错,就是它--> 前言:本来是写在word文档上作为笔记的,想想觉得不能浪费我在机房被狂虐两天总结出来的这点小经验, 还是分享一下吧,说 ...