ASP.net 内置对象

.net初学者,有错误欢迎指正。大家共同进步

Response 输出数据

Reponse对象和Request对象组成了一对发送,接受数据的对象。

发送信息:Reponse.Write("字符串");  Reponse对象最常用的方法是Write,用于向浏览器发送信息。使用Write方法输出的字符串会被浏览器按HTML语法解释。

重定向:Reponse.Redirect(URL):

缓冲处理:Reponse.BufferOutput = true;  清除缓冲区内容。将输出暂时存放在服务器缓冲区,程序执行结束或接收到Flush或End指令再输出到客户端。

启用缓冲Reponse.Flush();

发出缓冲Reponse.ClearCountent();

结束程序运行:Reponse.End();

Request 接收数据

获取表单数据:

<form action="表单提交地址" method="GET/POST">

以get方式提交表单,则数据附加在URL之后。http://localhost/example.asps?xx=value1&xx=value2

此时,使用Requeat.QueryString["xx"];来获取表单数据。

若提交方式为post则使用Request.Form["xx"];来获取表单数据。

无论以何种形式提交都可以使用request.params["xx"]来获取数据。

获取服务器环境变量:Reponse.Write("服务器名或ip"+request.ServerVarables["SEVER NAME"]);等

获取客户端浏览器能力信息:Reponse.Write("客户端操作系统"+request.Browser.platform);等

获取客户端Cookie:cookie是存于客户端的信息,只能存储字符串,当浏览器访问Web服务器时,服务器使用Reponse对象的Cookies集合来向客户单Cookie写入信息,再通过Reponse对象的Cookies属性来检索Cookie信息。

HttpCookie cookie = new HttpCookie("cookieName");   实例化对象

cookie["username"] = "xxx";  赋值

Response.Cookies.Add(cookie);  

cookie.Expires = DateTime.Now.AddDays(1);  添加过期时间

if(Request.Cookies["username"]==null){  判断cookie是否存在

do something}

Sever服务器对象

HTML解码与编码:Sever.HtmlEncode(string);编码  Sever.HtmlDecode(string);解码

路径转换:Sever.Mappath("/");返回虚拟目录的实际路径名

执行制指定程序:Execute类似于其高级语言中的过程调用,将程序转移到指定的程序,程序结束后流程返回原程序的中断点继续执行,而Transfer则终止当前程序的执行,转去执行指定的程序。

Server.Execute("xxx.aspx");

Server.Transfer("xxx.aspx");

Application集合对象(应用程序集存储)

Application对象派生自HttpApplicationState类,HttpApplicationState类的单个实例在客户端第一次从某个特定的ASP.NET应用程序虚拟目录中请求任何URL资源时创建。

OnStart事件:在一个虚拟目录中第一个ASP.NET程序执行时触发。

OnEnd事件:在整个应用停止时触发(通常在服务器被重启,关机或者IIS被停止时发生)。

OnBeginRequest事件:在每一个ASP.NET被请求时发生,即客户端每访问一个程序,就触发一次。

OnEndRequest事件:ASP.NET程序结束时触发。

Application.Set("cnt",0);将名为cnt的变量值修改为0

Application.Lock();锁定

Application.UnLock();解锁

Session会话对象(服务器存储)

OnStart事件:当用户第一次访问ASP.NET应用程序时,将创建Session对象,并触发该事件。

OnEnd事件:该事件通常用于会话结束的处理,如将数据写入文件或数据库当回话状态mode被设置为Inproc时才会引发。

会话状态模式的配置:<configuration>

  <system.web>

    <sessionState mode="Off|Inproc|StateServer|SQLSever|Custom"/>

  </system.web>

...

</configuration>

Inproc:会话数据将存储在HttpRuntime的内部高速缓存中,应用程序被重新启动后数据就会丢失

StateServer:保存在aspnet_state.exe中

SQLSever:存储在SQL Server中

优化会话性能:ASP.NET允许通过@page的指令EnbleSessionState属性来明确说明页面需要什么Session对象。

EnbleSessionState="true";进行读/写访问

EnbleSessionState="False";不需要访问

EnbleSessionState="ReadOnly";只读访问

Page网页对象

Init事件:每一次请求时被触发,先于Load触发

Load事件:每一次请求时被触发

if(!page.IsPostBack){  //如果不是首次加载

//do something}

转载请联系