WEB程序设计技术 ASP.NET内置对象
Response 对象是System.Web.HttpRespone 类的实例,用于将数据从服务器发送 回浏览器,并对发送过程进行控制。 在 C#中使用Response 对象的基本语法如下: Response [.属性|方法][变量]; 属性和方法这两个参数只能选择一个。变量是一些字符串变量,用来作为方法的参数。
Response对象常用属性说明列表 属 性 说 明 BufferOutput 属 性 说 明 BufferOutput 获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个响应之后将其发送 Cache 获取Web页的缓存策略,如过期时间、保密性等 Charset 设定或获取HTTP的输出字符编码 Expires和ExpiresAbsolute 通过这些属性为页面缓存输出HTML,从而提升后续请求性能。 Cookies 获取当前请求的Cookie集合 ContentType 设置输出内容的类型 IsClientConnected 传回客户端是否仍然和Server连接,如果不是你可以停止那些耗时的操作
Response对象的方法 方 法 说 明 AddHeader 将一个HTTP头添加到输出流 AppendToLog 方 法 说 明 AddHeader 将一个HTTP头添加到输出流 AppendToLog 将自定义日志信息添加到IIS日志文件 Clear 将缓冲区的内容清除,前提是 Buffer 属性为Ture,语法:在 C#中为 Response.Clear(); End 将目前缓冲区中所有的内容发送至客户端后关闭,语法:在 C#中为Response.End(); Flush 将缓冲区中所有的数据发送至客户端,前提是 Buffer 属性为True,语法:在 C#中为 Response.Flush(); Redirect 将网页重新导向另一个地址,语法:在C#中为Response.Redirect("URL") Write 将数据输出到客户端 WriteFile 将指定的文件直接写入HTTP内容输出流
protected void Page_Load(object sender, EventArgs e) { for (int i = 1; i < 5; i++) Response.Write("<br>" +i + " * " + i + " = " + i * i ); } Response.Write( string.Format("<br>{0} *{0}={1} " , i , i * i ) );
没有登录,没有相关操作权限时 protected void Page_Load(object sender, EventArgs e) { Response.End方法, 结束当前窗体的运行 protected void Page_Load(object sender, EventArgs e) { int sum = 0; for (int i = 0; i < 6; i++){ sum += i; if (i == 3) { Response.Write(sum); Response.End(); } 没有登录,没有相关操作权限时
Redirect方法进行页面重定向
Request对象 Request 对象 用来获取从客户端提交和上传的信息。使用该对象可以访问任何用 HTTP 请求传递的 信息,包含所有URL 中参数信息及其它所有由客户端发送的信息(如客户端 IP 地址、 客户端浏览器版本信息、客户端机器的 DNS 名称等)。
Request对象常用属性说明列表 属 性 说 明 ApplicationPath 属 性 说 明 ApplicationPath 获取服务器上ASP.NET应用程序虚拟应用程序的根目录路径 Browser 获取或设置正在请求的客户端浏览器的功能信息 ContentLength 指定客户端发送的内容长度(以字节计) Cookies 获取客户端发送的Cookie集合 FilePath 获取当前请求的虚拟路径 Files 获取采用多部分MIME格式的由客户端上载的文件集合 Form 获取窗体变量集合,对于大多数情况应该通过控件属性获取这些信息而一般不使用该集合 Item 从Cookies、Form、QueryString或ServerVariables集合中获取指定的对象 Params 获取QueryString、Form、ServerVariables 和Cookies项的组合集合 Path QueryString 获取HTTP查询字符串变量集合 UserHostAddress 获取远程客户端IP主机地址 UserHostName 获取远程客户端DNS名称
利用Request对获取一些本机信息 获取客户端IP地址:Request.ServerVariables.Get("Remote_Addr").ToString() 客户端主机名:Request.ServerVariables.Get("Remote_Host").ToString() 客户端浏览器IE:Request.Browser.Browser 客户端浏览器版本号:Request.Browser.MajorVersion 客户端操作系统:Request.Browser.Platform 服务器IP地址: Request.ServerVariables.Get("Local_Addr").ToString() 服务器名:Request.ServerVariables.Get("Server_Name").ToString() Request.QueryString的应用 Request.Form的应用 Request["item"]
Application对象 变量的生命周期受限于网页,所以每当ASPX文件被解释执行完毕之后,变量的内容会 不存在了。Application 对象提供了持久保存变量的功能,除非重启服务器或应用程 序,而且它是公共的,所有用户都可以访问。Application对象中定义的变量称为应 用程序变量,该对象的数据存储是通过"键/值"对的方式来保存数据,在C#语言中语 法如下: Application [varName]=值;其中,varName为变量名。
Response.Write(Application["SysName"]); 属 性 说 明 AllKeys 返回全部Application对象变量名到一个字符串数组中 Count 获取Application对象变量的数量 Item 允许使用索引或Application变量名称传回内容值 某个窗体 Application.Lock(); Application["SysName"] = "信息管理系统"; Application.UnLock(); 方 法 说 明 Add 新增一个Application对象变量 Clear 清除全部Application对象变量 Lock 锁定全部Application对象变量 Remove 使用变量名称移除一个Application对象变量 RemoveAll 移除全部Application对象变量 Set 使用变量名称更新一个Application对象变量的内容 UnLock 解除锁定的Application对象变量 其它个窗体 Response.Write(Application["SysName"]);
Session对象 当用户第一次请求应用程序中的某个.aspx文件时,ASP.NET将生成一个SessionID, 它唯一标识每个用户会话,并将SessionID作为一个Cookie存储在用户的Web浏览器 中。 主要用于存储从一个用户开始访问某个特定的主页起,到用户离开为止,特定的用户 会话所需要的信息,比如用于实现用户登录的认证。用户在应用程序的页面间切换时, Session对象中的变量不会被清除。
属 性 说 明 TimeOut 传回或设定Session对象变量的有效时间,如果使用者超过有效时间没有动作,Session对象就会失效。默认值为20分钟 Contents 用于确定指定会话项的值或遍历Session对象的集合 StaticObjects 确定某对象指定属性的值或遍历集合,并检索所有静态对象的所有属性 方 法 说 明 Add 向会话状态集合添加一个新项 Abandon 取消当前会话 Clear 此方法清除全部的Session对象变量,但不结束会话
Session["Name"]=TextBox1.Text; //将TextBox控件的文本存储到Session["Name"] TextBox1.Text=Session["Name"].ToString(); Session.Add("xm", "zhang"); Response.Write(Session["xm"]); //输出为 zhang Session.Abandon(); Response.Write( Session["xm"]); //取消会话后,输出为空
Server对象 Server对象 用来配置服务器环境、创建 COM对象和 Scripting 组件、提供访问服务器的接口, 同时它还可以转换数据格式、管理站点页面的执行等功能。 属 性 说 明 MachineName 获取服务器的计算机名称 ScriptTimeout 获取和设置请求超时值(以秒计)
在当前请求的上下文中执行指定资源的处理程序,然后将控制返回给该处理程序 Server对象 方 法 说 明 Execute 在当前请求的上下文中执行指定资源的处理程序,然后将控制返回给该处理程序 HtmlDecode 已被编码的字符串进行解码 HtmlEncode 对要在浏览器中显示的字符串进行编码 MapPath 返回与Web服务器上的指定虚拟路径相对应的物理文件路径 UrlDecode 对字符串进行解码,该字符串为了进行HTTP传输而进行编码并在URL中发送到服务器 UrlEncode 编码字符串,以便通过URL从Web服务器到客户端进行可靠的HTTP传输 Transfer 终止当前页的执行,并为当前请求开始执行新页
string str = "<br><b><u>This is a demo string str = "<br><b><u>This is a demo.</u></b>"; string strEnc = Server.HtmlEncode(str); //编码后的内容为 <br><b><u>This is a demo.</u></b> Response.Write( strEnc ); Response.Write(Server.HtmlDecode(strEnc));
UrlEncode 当字符串数据以URL的形式传递到服务器时,在字符串中不允许出现空格,也不允许 出现特殊字符,此时使用UrlEncode方法就要先将值进行编码后再传递。
Cookies集合 用于保存客户端浏览器请求的服务器页面,也可用于存放非敏感性的用户信息,信息 保存的时间可以根据用户的需要进行设置。并非所有的浏览器都支持Cookie,并且数 据信息是以文本的形式保存在客户端计算机中。 属 性 说 明 Expires 设定Cookie变量的有效时间,默认为1000分钟,若设为0,则可以实时删除Cookie变量 Name 取得Cookie变量的名称 Value 获取或设置Cookie变量的内容值 Path 获取或设置Cookie适用的URL