Server是.net的内置对象之一,该内置对象主要包括以下方法,如:Server.HtmlEncode和Server.HtmlDecode、Server.UrlEncode和Server.UrlDecode、erver.MapPath(“虚拟路径”)。接下来将结合实际应用对这三组方法进行一一介绍。
1.第一组方法:Server.HtmlEncode和Server.HtmlDecode
这两个方法的作用就是对HTML字符串进行编码,之所以叫Html字符串是因为在字符串中有Html的标记,比如<span></span>等。
比如现在在后台代码中有这样一个字符串,如下:
string HtmlStr_a = "<span style='color:red'>Hello World 你好世界</span>";
这个字符串我想通过ViewData[“”]传递到前端,然后显示出来,如果不做任何处理的话,还字符串会在浏览器中显示出来,而且其中的Html标签也会被识别,也就是起作用。
,那么现在希望该字符串中的html标记在浏览器中不被识别,也就是不起作用,而是以字符串的方式,原样显示出来,那么就需要对该字符串进行html编码了,如下所示:
string ShowHtml = Server.HtmlEncode(HtmlStr_a);
该字符串被编码后,将编码后的字符串传递到前端,然后就会按照原样显示该字符串了,此时所用的html标签都会以文本就形式显示出来。
2.第二组方法:Server.UrlEncode和Server.UrlDecode
这组方法的作用是对url字符串进行编码和解码,如下:
string UrlStr = "Http://Localhost:7892/Home/Index";
string UrlSuffix = "?id=12&Name=Hello张先生";
通过Server.UrlEncode对urlSuffix字符串进行url编码:得到:%3fid%3d12%26Name%3dHello%e5%bc%a0%e5%85%88%e7%94%9f
接下来是对url字符串进行解码:
String urlstr=Http://Localhost:7892/Home/Index?%3fid%3d12%26Name%3dHello%e5%bc%a0%e5%85%88%e7%94%9f
String getpreviousstr=Server.UrlDecode(urlstr);得到解码后字符串如下:Http://Localhost:7892/Home/Index?id=12&Name=Hello张先生
3.第三个方法:Server.MapPath(“虚拟路径”)
这个方法的作用是将虚拟路径转换为Web服务器上的物理文件路径:
如一个url的地址是Http://Localhost:7892/Home/Index?id=12&Name=Hello张先生
那么它的虚拟路径指的就是/Home/Index。
若地址是Http://Localhost:7892/
那么它的虚拟路径就是/。
这个虚拟路径可以通过Request.Path获取。
Server.MapPath(“/Home/Index”);得到的物理文件地址是:C:\Users\King\Desktop\Built-InServer\Built-InServer\Home\Index
Server.MapPath(“/”);得到的物理文件地址是:C:\Users\King\Desktop\Built-InServer\Built-InServer\