Webform_状态保持
Session
使用Session变量传值是一种最常见的方式了,此中方式不仅可以把值传递到下一个页面,还可以交叉传递到多个页面,直至把Session变量的值removed后,变量才会消失。
1、创建一个webform
2、在新建的webform中放置一个button1,在放置两个TextBox1,TextBox2
3、为button按钮创建click事件
代码如下:
private void button_click(object sender,System.EventArgs e)
{
Session["Name"]=TextBox1.Text;
Session["Email"]=TextBox2.Text;
Response.Redirect("webform2.aspx");
}
4、新建一个目标页面命名为webform2
5、在webform2中放置两个Label1,Label2
在webform2的Page_Load中添加如下代码:
private void Page_Load(object sender,System.EventArgs e)
{
Label1.Text=Se ion["Name"].ToString();
Label2.Text=Se ion["Email"].ToString();
Session.Remove("Name");
Session.Remove("Email");
}
// Session是非常安全的,因为它存在于服务器的内存中,取数据也是最快的
但是,Session不要滥用,因为会造成服务器内存溢出,导致服务器崩溃 Session里面不要放大东西,如果不用那么就会造成资源浪费
Session生命周期:20分钟
Cookies
Cookies里面可以存内容,但是存的只能是字符串
会话Cookies的生命周期是:20分钟
持久Cookies,保存时间由咱们网站代码来设置
Cookies是存在用户电脑的硬盘上
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