黑马程序员技术交流社区
标题:
做项目中遇到的技术问题
[打印本页]
作者:
江湖一浪人
时间:
2013-6-12 18:01
标题:
做项目中遇到的技术问题
ASP.NET
中四种状态管理机制:ViewState,Cookie,Session,Application.怎样确定用哪种状态好?分别用在什么场合好?
今天在做项目时碰到好几个状态管理机制的问题,不知道用哪种状态管理好。求大神们详细讲解~~~~~~~,感激不尽~~~~~~~~
作者:
一直在努力
时间:
2013-6-12 18:17
ViewState 页面级
Cookie 客户端
Session 服务器
Application 整个网整启动时,IIS停掉
作者:
许庭洲
时间:
2013-6-12 18:21
本帖最后由 许庭洲 于 2013-6-12 18:23 编辑
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1. Label版本的值存到了ViewState中,TextBox版本的不用存,因为TextBox就是input,自己就会提交给服务器,不需要隐藏字段。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2. 使用Cookie对象变量
a.aspx的C#代码
private void Button1_Click(object sender, System.EventArgs e)
{
HttpCookie cookie_name = new HttpCookie("name");
cookie_name.Value = Label1.Text;
Reponse.AppendCookie(cookie_name);
Server.Transfer("b.aspx");
}
b.aspx中C#代码
private void Page_Load(object sender, EventArgs e)
{
string name;
name = Request.Cookie["name"].Value.ToString();
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3. 使用Session变量
a.aspx的C#代码
private void Button1_Click(object sender, System.EventArgs e)
{
Session["name"] = Label.Text;
}
b.aspx中C#代码
private void Page_Load(object sender, EventArgs e)
{
string name;
name = Session["name"].ToString();
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
4.使用Application 对象变量
a.aspx的C#代码
private void Button1_Click(object sender, System.EventArgs e)
{
Application["name"] = Label1.Text;
Server.Transfer("b.aspx");
}
b.aspx中C#代码
private void Page_Load(object sender, EventArgs e)
{
string name;
Application.Lock();
name = Application["name"].ToString();
Application.UnLock();
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
作者:
ljh4282158
时间:
2013-6-12 18:23
ViewState是ASP.NET的核心机制: 是用来 保存ASP.NET控件解析转换成HTML控件的状态,页面上所有服务器空间的状态信息都会保存到页面的viewstate隐藏域中。客户端向服务器端发送请求时,viewstate数据也会发过去,服务器就会根据发送过来的viewstate,可以解析,从而html空间对应asp.net空间
作者:
ljh4282158
时间:
2013-6-12 18:25
Session cookie application 的区别
名称 使用范围 存储位置 存放数据类型 生命周期
Session 特定用户 服务器端 Object类型 可自行设置
Cookie 特定用户 客户端 String类型 可自行设置
Application 所有用户 服务器端 Object类型 无
求技术分
作者:
胡章诚
时间:
2013-6-12 18:29
学习了,这种问题对我来说只能观望啊,不过大家多讨论这样的问题,有价值,大家一起说,把它总结一下那就perfict了
作者:
江湖一浪人
时间:
2013-6-12 18:45
楼上各位讲的都好详细,受益匪浅!谢谢!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2