ASP.NET(二) Web开发——内置对象

来源:互联网 发布:网络准确率的计算公式 编辑:程序博客网 时间:2024/04/29 18:15

     上一篇博客,我从C/S开发角度方面简单总结.NET平台的中的一些必要知识,接下来几篇博客,我将重点总结ASP.NET中的Web开发方面的知识。这篇博客,总结一下ASP.NET中的内置对象。




     上边这张图是ASP.NET的几个内置对象(Page对象,ObjectContext对象也是,这里我先总结上边七个了)。


           ASP.NET是完全面向对象的编程环境,它提供了实现编程功能的一系列的类库,这些类即包括有界面的控件,也包括无界面的对象(内置对象),这些对象使用户更容易收集通过浏览器发送的信息、响应浏览器以及存储用户信息。这些对象会在系统执行时自动声明初始化,并引入页面,所以可以直接使用,操作方便。我们需要做的是让这些内置对象为我们服务!


          一,1,概述:Response对象:继承于 System.Web.HttpRespone类,用来发送信息到客户端,并对发送 过程进行控制。例如,在浏览器中动态创建 Web 页面显示内容,改变 HTTP标题头,重新将客户端定向到指定页面中,设置缓冲信息等。

                   2,基本语法:

Response [.属性|方法][变量];

属性和方法这两个参数只能选择一个。变量是一些字符串变量,用来作为方法的参数。

 

   常用属性和方法:



   3,例如:

跳转至新界面:(1),Response.Redirect("http://www.renren.com")

                               2),Response.Redirect("Default2.aspx");

在页面输出指定的字符串:Response.write("Write方法的使用!")

 

   二,Request对象:

          1,概述:Request 对象是 System.Web.HttpRequest类的一个实例,用来获取从客户端提交和上 传的信息。使用该对象可以访问任何用 HTTP 请求传递的信息,包括用户在 Web 表单中提交 的信息、URL中参数信息、客户端信息(如客户端 IP 地址、客户端浏览器版本信息、客户端机器的 DNS 名称等),还包括发送给服务器的二进制数据。

          2,基本语法:

Rquest[.collect|属性|方法][变量];

其中集合、属性、方法 3 个参数只能选择一个,也可以 3 个都不要。变量为字符串类型, 指定要检索的项目,或作为方法的参数,例如:

1),Request.QuerySring[“id”] 表示获取 URL 后面的 id参数值;135 

2),Request[“id”]也表示获取 id 参数值,但 ASP.NET 会遍历  QuerySring、Form、 Cookie等数据集合检索此参数,建议指定数据集合的名称,提供效率;

3),Request.totalBytes 表示从客户段接收的数据大小,单位为字节

         3,常用属性和方法:





     4,例如:

 (1),获取传递的信息:Response.Redirect("Default2.aspx?userName="+TextBox1.Text.Trim());//传递用户名信息

                                                      String str=Request.QueryString["userName"].ToString();//获取用户名信息

 (2),获取浏览器的信息:

Reponse.Write("浏览器是:"+Requst.Browser.Type"+"<br/>");

Reponse.Write("浏览器的名称是:" +Requset.Browser.Browser+"<br/>");

 

 

    三,Server对象:

           1,概述:Server 对象继承于System.Web.HttpServerUtility 类, 用来配置服务器环境、 创建 COM 对象和 Scripting组件、提供访问服务器的接口,同事它还可以转换数据格式、管理站点页 面的执行等功能。 通俗说 Server 对象是 ASP.NET 服务器的底层管家, 熟练控制Server 对象,能够更好的发挥服务器的功能。

          2,常用属性和方法:


           3,举例:

1),HtmlDecodeHtmlEncode解码和编码:

                 public string HtmlDecode(string s);//解码

                 Public  void HtmlDecode(string s ,TextWriter output);

(2),UrlEncodeUrlDecode编码和解码字符串:

      Public  string UrlEncode(string s);//编码

      Public void UrlEncode(string s ,TextWriter output);

(3),Response.Write("服务器超时时间:"+Server.ScripTimeout +"<br/>");

      Response.Write("服务器的文件路径为" +Server.MapPath("风景.jpg"));

 

   四,Application对象:

         1,概述:由于变量的生命周期受限于网页,所以每当.asp 文件被解释执行完毕之后时,变量的内容会不存在。 Application 对象提供了持久保存变量的功能, 除非重启服务器或应用程序, 而且它是公共的,所有用户都可以访问。

        

         2,常用属性和方法:


       3,例如:

           实现网页的访问计数:

private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 Application.Lock(); Application["counter"] = Convert.ToInt32(Application["counter"])+1; Application.UnLock(); Response.Write("<center><b>计数器示例</b><br>"); Response.Write("  欢  迎 光 临  !  您 是 第 "+Application["counter"].ToString()+"位访问者</center>"); }



   五,Session 对象:

          1,概述:

       Session对象用于存储从一个用户开始访问某个特定的主页起,到用户离开为止,特定

的用户会话所需要的信息。用户在应用程序的页面间切换时,Session对象中的变量不会被 清除,其类名称是 HTTPSessionState。

         2,常用属性和方法:




           3,例如:

       使用Session对象记录用户信息:

private void btnLogin_Click(object sender, System.EventArgs e) { Session["name"]=txtName.Text; Session["password"]=txtPwd.Text; Response.Redirect("test.aspx"); } Test.cs Page_Load 事件中代码如下:private void Page_Load(object sender, System.EventArgs e) { lblMessage.Text="恭喜您!"+Session["name"].ToString()+",您已注 册成功,密码是"+Session["password"].ToString(); } 

  

   六:Cookie对象:

           1,概述:cookie是一小块由浏览器存贮在客户端系统上(硬盘)的文本,是一种标记。由WEB服务器嵌入用户浏览器中,以便标识用户,且随同每次用户请求发往WEB服务器。Cookie跟Session、Application类似,也是用来保存相关信息,但Cookie和其他对象的最大不同是,Cookie将信息保存在客户端,而Session和Application是保存在服务器端。也就是说,无论何时用户连接到服务器,Web站点都可以访问cookie信息。这样,既方便用户的使用,也方便了网站对用户的管理。

           2,常用属性和方法:




          3,例如:

     通过客户端发送的所有Cookie,并将每个Cookie的名称、过期日期、安全参数和值发送到HTTP输出:


int loop1, loop2;HttpCookieCollection MyCookieColl;HttpCookie MyCookie;MyCookieColl = Request.Cookies;//把所有的cookie名放到一个字符数组中String[] arr1 = MyCookieColl.AllKeys;//用cookie名获取单个cookie对象for (loop1 = 0; loop1 < arr1.Length; loop1++){   MyCookie = MyCookieColl[arr1[loop1]];   Response.Write("Cookie: " + MyCookie.Name + "<br>");   Response.Write("Expires: " + MyCookie.Expires + "<br>");   Response.Write ("Secure:" + MyCookie.Secure + "<br>");//将单个cookie的值放入一个对象数组   String[] arr2 = MyCookie.Values.AllKeys;//遍历cookie值集合打印所有值    for (loop2 = 0; loop2 < arr2.Length; loop2++)   {      Response.Write("Value" + loop2 + ": " + arr2[loop2] + "<br>");   }



   七,Cache对象:

           1,概述:对于每个应用程序域均创建该类的一个实例,并且只要对应的应用程序域保持活动,该实例便保持有效。有关此类实例的信息通过HttpContext对象的Cache属性或Page对象的Cache属性来提供。

 

           2,常用属性和方法:



       3,例如:

1),检索文本框控件缓存的值:

Cache.Get("MyTextBox.Value");

2),删除缓存中关于Key的相关对象:

public voidRemoveItemFromCache(Object sender, EventArgs e)

{

   if(Cache["Key1"] != null)

     Cache.Remove("Key1");

}

 

 

      综上,为ASP.NET的内置对象的基本用法,更深一步需要我们多实践。

 
原创粉丝点击