学习ASP.net又一次接触了B/S开发。下面先通过一张图对ASP.net有一个宏观结构的总结。之后将详细介绍ASP.net中的六大对象。
1.Request从客户端得到数据,包括基于表单的数据和通过URL发送的参数列表信息,还可以接收来自用户的Cookie信息。
Request是类HttpRequest一个具体对象。主要属性有:
Request.Form属性获取数据,通过该属性,读取
之间的表单数据:注意提交方式要设定为“Post”。
Request.QueryString属性获取数据,可以获取HTTP查询字符串变量集合。即可以读取地址信息。注意提交方式设置为“Get”。
Post和Get的区别
ASP.net中通过表单向服务器端发送数据,其发送数据方式有两种(沿用HTML的):Post和Get。Get是将传送的数据附加到URL后面;Post方法是将传送的数据,封装为一个数据集进行传送过去。
Post方法时信息的读取
string strUserName = Request.Form.Get("txtUserName").ToString();注意form相当于一个集合,所以,有多种方法获得相应的数据。string strUserName=Request.Form["txtUserName"].ToString();
Get方法时信息的读取
string strUserName=Request.QueryString["txtUserName"].ToString();
string strUserName=Request.QueryString.Get("txtUserName").ToString();
小结
无论哪种提交方法,都可以用这种方法:Request["txtUserName"].ToString();获得数据。
2.Response用于输出数据到客户端,包括向浏览器输出数据、重定向浏览器到另一个url或向浏览器输出
Response是类HttpResponse的一个对象。属性和方法:
Response.Write()向客户端发送字符串信息。
Response.Buffer用来控制是否采用响应缓存,默认为true。
Response.Clear()清空缓存区中的数据,这样缓存区中的没有发送到浏览器端的数据被清空。
3.Server提供对服务器上的属性和方法的访问
其类名为HttpServerUtility,主要属性和方法:
MachineName:获取服务器的计算机名称。
ScrptTimeout:用于指定脚本在终止之前在服务器上运行的时间周期。
方法说明:
CreateObject创建COM对象的一个服务器实例。
Execute执行当前服务器上的另一个aspx页,执行完该页后再返回本页继续执行。
HtmlEncode对要在浏览器中显示的字符串进行HTML编码并返回已编码的字符串。
HtmlDecode对HTML编码的字符串进行解码,并返回已解码的字符串。
MapPath返回与Web服务器上的指定虚拟路径相对应的物理文件路径。
Transfer终止当前页的执行,并为当前请求开始执行新页。
UrlEncode将代表URL的字符串进行编码,以便通过URL从Web服务器到客户端进行可靠的HTTP传输。
UrlDecode对已被编码的URL字符串进行解码,并返回已解码的字符串。
UrlPathEncode对URL字符串的路径部分进行URL编码,并返回已编码的字符串。
4.Application作用于整个应用程序的状态对象。
方法:
添加或创建一个对象
Application.Add("key",value);或Application("key")=value;
获取Application集合中某个对象的值
int i = (int)Application("key");或int i = Application.Contents["key"];或int i = Application.Get("key")
更新集合中的对象值
Application.Set("key",value);或Application["key"] = (int)Application["key"] +1;更新的时候最好加上锁机制:application.Lock()和Application.UnLock()。
移除对象
Application.Remove("key");移除指定对象。Application.RemoveAll();或Application.Clear()移除所有对象。
基本事件
Application_Start,Application_End和Application_Error。这些事件在Global.asax文件中。Global.asax文件时一个可选(可以没有,有只能有一个)的文件,该文件包含响应ASP.net应用程序或HTTP模块所引发的应用程序级别和会话的代码(事件)。
5.Session会话级对象,用户跟踪单一用户的会话。比如对网站访问量的实现。方法和属性与Application类似。
6.Cookie,同Application和Session,保存数据信息。就是Web服务器保存在用户硬盘上的一段文本。Cookie允许一个Web站点在用户的电脑上保存信息并且随后再取回它。信息的片断以‘键/值’对的形式存储。
Cookie是保存在客户机硬盘上的一个文本文件,可以存储有关特定客户端、会话或应用程序的信息,在.NET中对应HttpCookie类。
有两种类型的Cookie:会话Cookie(Session Cookie)和持久性Cookie。前者是临时性的,一旦会话状态结束它将不复存在;后者则具有确定的过期日期,在过期之前Cookie在用户的计算机上以文本文件的形式存储。
在服务器上创建并向客户端输出Cookie可以利用Response对象实现。
学习感受:以上是对ASP.net中的对象的一个介绍性总结,在ASP.net视频里收获最多的是控件的使用,除了让我感觉好玩的还有两类,一类是验证控件,包括必填字段,比较控件,范围比较,正则表达式,自定义验证以及验证汇总。通过这些验证实现我们平时在网上注册信息的基本验证功能。另一类是ADO.net中的DataSet对象和.NET数据提供程序以及显示数据的控件模板的使用。 ASP.net中介绍的控件有一部分在牛腩中使用过,通过视频的讲解和实现例子,对他们有了更深的了解。