HttpContext(五)-Server

Server对象是用于获取服务器的相关信息的对象。它常用方法如下:

属性名

返回值类型

说明

Execute

void

执行指定的资源,并且在执行完之后再执行本页的代码

HtmlDecode

string

消除对特殊字符串编码的影响

HtmlEncode

string

对特殊字符串进行编码

MapPath

string

获取指定相对路径在服务器上的无力路径

Transfer

void

停止执行当前程序,执行指定的资源

UrlDecode

string

对路径字符串进行解码

UrlEncode

string

对路径字符串进行编码

至于Server.Transfer和Response.Redirect的区别详见:http://www.cnblogs.com/heaiping/archive/2010/03/27/1698492.html

上面的方法光从概念上来说,似乎还是让人不能分清他们到底有什么作用,特别Excure/ Transfer、HtmlEncode(HtmlDecode)/ UrlEncode(UrlDecode)这两组。在讲述他们分别之前先讲述MapPath这个方法的作用,在我们上传文件的时候要以物理路径保存上传文件到服务器,而我们使用得最多的是相对URL地址,这个方法就起到了将相对URL地址转换成服务器物理路径的作用。
为了说明Excure/ Transfer及HtmlEncode(HtmlDecode)/ UrlEncode(UrlDecode)的区别,我们还是用实例代码来展示:

HttpContext(五)-Server 代码
   
     
<% @ Page Language = " C# " AutoEventWireup = " true " CodeFile = " Default2.aspx.cs " Inherits = " Default2 " %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > ServerTest </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< ul >
< li > Server.MapPath(".")= <% = Server.MapPath( " . " ) %> </ li >
< li > <% = Server.HtmlEncode( " <h1>Server---HtmlEncode</h1> " ) %> </ li >
< li > <% = Server.HtmlDecode( " <h1>Server---HtmlDecode</h1> " ) %> </ li >
< li >< h1 > Server---Nothing </ h1 ></ li >
< li > <% = Server.UrlEncode( " <a href=\ " http: // www.cnblogs.com / heaiping /\ " >恒星的恒心</a> " ) %> </ li >
< li > <% = Server.UrlDecode( " <a href=\ " http: // www.cnblogs.com / heaiping /\ " >恒星的恒心</a> " ) %> </ li >
< li >< a href ="http://www.cnblogs.com/heaiping/" > 恒星的恒心 </ a ></ li >

</ ul >

</ form >
</ body >
</ html >

 

 

 HttpContext(五)-Server

从Server.MathPath(“.”)证明确实能获取到相对路径的在服务器上的实际物理地址。
在上面的例子中我们想在网页中输出HTML代码,如果直接输出往往得不到想要的效果,这时可以借助HtmlEncode方法对要输出的HTML代码进行编码,这样输出到浏览器上的时候就能看到HTML代码(包含html标志),而不是HTML形式的效果。HtmlDecode方法则是用来消除这种影响。
如果我们直接输出“<a href="http://www.cnblogs.com/heaiping/">恒星的恒心</a>”这个字符串的话,在网页上会显示一个超级链接,但是有时候我们希望把这个超级链接作为QueryString的一个参数,由于url地址的特殊性,比如“:”、“/”等字符串在URL地址中有特殊的含义,要想输出这些字符,直接输出是不行的,需要进行某种转换,并且将来还能转换回来。经过UrlEncode方法转换之后,“:”、“/”分别转换成了“%3a”和“%2f”这样的字符,并且汉字也进行了转换。UrlDecode方法则是将“%3a”和“%2f”等这样的字符转换成我们原本要表示的字符。

你可能感兴趣的:(context)