您当前的位置: 主页 > 编程文档 > .NET文档 >
.NET中的状态管理

时间:2010-03-06 21:36 来源: 作者: admin 点击:

我们在ASP中能够通过cookie、查询字符串、应用程序、对话等轻易地解决这些问题。现在到了ASP.NET环境中,我们仍然可以使用这些功能,只是它们的种类更多了,功能也更强大了。
管理互联网网页主要有二种不同的方法:客户端和服务器端。
1、客户端的状态管理:
在客户端、服务器之间的多次请求-应答期间,服务器上不保存信息,信息将被存储在网页或用户的计算机上。
A、Cookie
cookie是存储在客户端文件系统的文本文件中或客户端浏览器对话的内存中的少量数据,它主要用来跟踪数据设置。下面我们举例说明:假设我们要定制化一个欢迎互联网网页,当用户请求缺省的互联网网页时,应用程序会首先检查用户在此前是否已经注册,我们可以从cookie中获取用户的信息:
[c#]
if (Request.Cookies[“username”]!=null)
lbMessage.text=”Dear“ Request.Cookies[“username”].Value ”,Welcomeshoppinghere!”;
else
lbMessage.text=”Welcomeshoppinghere!”;

如果要存储用户的资料,我们可以使用下面的代码:
[c#]
Response.Cookies[“username’].Value=username;

这样,当用户请求该网页时,我们就可以方便地识别该用户。
B、隐藏域

隐藏域不会显示在用户的浏览器中,但我们可以象设置标准控制的属性那样设置其属性。当一个网页被提交给服务器时,隐藏域的内容和其他控制的值一块儿被送到HTTPForm集合中。隐藏域可以是任何存储在网页中的与网页有关的信息的存储库,隐藏域在其value属性中存储一个变量,而且必须被显性地添加在网页上。
ASP.NET中的HtmlInputHidden控制提供了隐藏域的功能。
[c#]
protectedSystem.Web.UI.HtmlControls.HtmlInputHiddenHidden1;
file://给隐藏域赋值
Hidden1.Value=”thisisatest”;
file://获得一个隐藏域的值
stringstr=Hidden1.Value;

需要注意的是,要使用隐藏域,就必须使用HTTP-Post方法提交互联网网页。尽管其名字是隐藏域,但它的值并不是隐藏的,我们可以通过“查看源代码”功能找到它的值。
C、状态查看
包括网页本身在内的WebForms网页上的每个控制都有一个名字为ViewState的属性,它是一个自动保持网页和控制状态的内置结构,这意味着在向服务器提交网页后,我们无需采取任何措施来恢复控制的数据。
在这里,对我们有用的是ViewState属性,我们可以利用它来保存与服务器之间多次的请求-应答期间的信息。
[c#]
file://保存信息
ViewState.Add(“shape”,”circle”);
file://获取信息
stringshapes=ViewState[“shape”];

注意:与隐藏域不同的是,在使用查看源代码功能时,ViewState属性的值是不可见的,它们是被压缩和加密的。
D、查询字符串
查询字符串提供了一种简单而受限制的维护状态信息的方法,我们可以方便地将信息从一个网页传递给另一个网页,但大多数浏览器和客户端装置都把URL的长度限制在255个字符长。此外,查询值是通过URL传递给互联网的,因此,在有些情况下,安全就成了一个大问题。

  • 共2页:
  • 上一页
  • 1
  • 2
  • 下一页
  • 顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    上一篇:.NET上传图片并同时生成缩略图 下一篇:没有了
    Ծػص߷棬Ͻɫ顢ۡ
    :
    :
    û:: ֤:ҸͼƬ
    推荐文章
    热门文章