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

时间:2022-06-01 16:42:28

内置对象:用于页面之间的数据交互

为什么要使用这么内置对象?因为HTTP的无状态性。

Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。有关使用 Session 对象的详细信息,请参阅“ASP 应用程序”部分的“管理会话”。注意 会话状态仅在支持 cookie 的浏览器中保留。

每一台电脑访问访问服务器,都会是独立的一套Session,key值都一样,但是内容都不一样的。

这是与Cookies相同的地方。

不同点:

1、Session的保存位置是保存在服务器上的

2、Session没有持久的,它的保存周期就是20分钟

重点:Session不要滥用,也不要不用,滥用可能会造成服务器内容溢出,不用会造成资源浪费,因为内存中的数据提取及交互是最快的。。


赋值:Session["key"] = 值;
取值:string a = Session["key"];
清除: Session["key"]=null;


Application:
全局对象
Application["key"] 是所有的用户获取这个key里面的值都是一样的
没有保存周期,,它会一直保存着
通常在什么地方使用,版本号

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


ViewState:(作为了解)

就在当前页面中保存数据的.

像session.是会话级别的.只要会话没有过期.session中存的数据就在.

viewstate是页面级别的.只要这个页面在.viewstate中存的数据就在.

就是说viewstate中存的数据只能在声明该变量的页面中使用.

比如在某页的page_load中声明了:ViewState["test"]="fdasfdsa";

那么在该页中的任何一个方法中都可以使用ViewState["test"]来直接得到值"fdsafdsa".


理解成为病例

------------------------------------------------
内置对象的作用:为了跨页面传值和状态保持

Request:接收请求

Response:响应请求

Cookies:

Session:

Application:

ViewState:网上搜一下相关文章

QueryString:

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

2、CommandName - 判断点击的是什么按钮,e.CommandName

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

4、ItemCreated - 项模板中将HTML代码生成完毕时执行一遍此事件
5、ItemDataBound - 项模板将数据绑定后执行一遍此事件