ASP.NET Session 详解
Session模型简介
Session是什么呢?简单来说就是服务器给客户端的一个编号。当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站。当每个用户首次和这台WWW服务器建立连接时,他就和这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。这个SessionID是由WWW服务器随机产生的一个由24个字符组成的字符串,我们会在下面的实验中见到他的实际样子。
这个唯一的SessionID是有非常大的实际意义的。当一个用户提交了表单时,浏览器会将用户的SessionID自动附加在HTTP头信息中,(这是浏览器的自动功能,用户不会察觉到),当服务器处理完这个表单后,将结果返回给SessionID所对应的用户。试想,如果没有SessionID,当有两个用户同时进行注册时,服务器怎样才能知道到底是哪个用户提交了哪个表单呢。当然,SessionID更有非常多其他的作用,我们会在后面提及到。
除了SessionID,在每个Session中还包含非常多其他信息。不过对于编写ASP或ASP.NET的程式和来说,最有用的还是能通过访问ASP/ASP.NET的内置Session对象,为每个用户存储各自的信息。例如我们想了解一下访问我们网站的用户浏览了几个页面,我们可能在用户可能访问到每个的页面中加入:
<%
If Session("PageViewed") = ""Then
Session("PageViewed") = 1
Else
Session("PageViewed") = Session("PageViewed") + 1
End If
%>
通过以下这句话能让用户得知自己浏览了几个页面:
<%
Response.Write("You have viewed " & Session("PageViewed") & " pages")
%>
可能有些有些读者会问:这个看似像是数组的Session(“..”)是哪里来的?需要我定义吗?实际上,这个Session对象是具有ASP解释能力的的WWW服务器的内建对象。也就是说ASP的系统中已给你定义好了这个对象,你只需要使用就行了。其中Session(“..”)中的..就似乎变量名称,Session(“..”)=$$$中的$$$就是变量的值了。你只需要写上句话,在这个用户的每个页面中都能访问..变量中的值了。
其实ASP一共内建了7个对象,有Session、Application、Cookie、Response、Request、Server等。在其他的服务器端脚本语言如JSP、PHP等中也有其类似的对象,只是叫法或使用方法上不太相同。
ASP Session的功能的缺陷
目前ASP的研发人员都正在使用Session这一强大的功能,不过在他们使用的过程中却发现了ASP Sessi
相关文档:
使用WebClient自动填写并提交ASP.NET页面表单
在.NET中通过程序填写和提交表单还是比较简单。比如,要提交一个如下图所示的登录表单:
填写和提交以上表单的代码如下:
&nb ......
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentException: 输入数组长度大于此表中的列数。
错误代码如下:
DataTable sourceTable = ......
ASP.NET页面跳转有什么方法呢?,现在给大家介绍三种方法,他们的区别是什么呢?让我们开始吧: ASP.NET页面跳转1、response.redirect 这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但他可以跳转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪),同时不能跳过登录保护。但速度慢是其最大缺陷!r ......
网上关于突出显示当前页面的文章有不少,但是基本都是关于实现静态菜单的高亮,讲到动态生成菜单高亮的文章至少我没有找到,在csdn上问了两天都没有答案,最后在一位朋友的回答中找到思路,先利用一个函数判断菜单是否是正在浏览的当前页,然后付给li一个id,利用css层叠id大于class的关系,把这个id定义成高亮样式。
aspx ......