HttpContext(五)-Server

来源:互联网 发布:剑灵大叔捏脸数据 编辑:程序博客网 时间:2024/05/04 17:41

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)的区别,我们还是用实例代码来展示:

代码
<%@ 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>

 

 

 

从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”等这样的字符转换成我们原本要表示的字符。

原创粉丝点击