.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}
转载请联系