ASP.NET内置对象之Server
注:本文主要是参考《ASP.NET 夜话》,加入了自己的整理
做asp.net开发时无需new就能使用的对象,如:
Request ,Response ,Server ,Session ,Cookie ,Application
在asp.net中所有的网页都是继承自System.Web.UI.Page这个类。由于HTTP是一种无状态的协议,也就是它并不记得上一次谁请求过它,不会主动去询问客户端,只有当客户端主动请求之后,服务器才会响应。
3、Server
Server对象是用于获取服务器的相关信息的对象。它常用方法如下
属性名 | 返回值类型 | 说明 |
Execute | void | 执行指定的资源,并且在执行完之后再执行本页的代码 |
HtmlDecode | string | 消除对特殊字符串编码的影响 |
HtmlEncode | string | 对特殊字符串进行编码 |
MapPath | string | 获取指定相对路径在服务器上的无力路径 |
Transfer | void | 停止执行当前程序,执行指定的资源 |
MapPath | string | 对路径字符串进行解码 |
UrlEncode | string | 对路径字符串进行编码 |
例子:(新建一个单页面的aspx页面,然后把下面代码复进去)
Server对象的常见方法实例
<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Server对象的常见方法实例</title>
</head>
<body>
<ul>
<li>Server.MapPath(".")=<%=Server.MapPath(".")%></li>
<li><%=Server.HtmlEncode("<h1>Asp.net夜话之二:asp.net内置对象</h1>")%></li>
<li><h1>Asp.net夜话之二:asp.net内置对象</h1></li>
<li><%=Server.UrlEncode("<a href=\"http://blog.csdn.net/zhoufoxcn\">周公的专栏</a>")%></li>
<li><a href="http://blog.csdn.net/zhoufoxcn">周公的专栏</a></li>
</ul>
</body>
</html>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Server对象的常见方法实例</title>
</head>
<body>
<ul>
<li>Server.MapPath(".")=<%=Server.MapPath(".")%></li>
<li><%=Server.HtmlEncode("<h1>Asp.net夜话之二:asp.net内置对象</h1>")%></li>
<li><h1>Asp.net夜话之二:asp.net内置对象</h1></li>
<li><%=Server.UrlEncode("<a href=\"http://blog.csdn.net/zhoufoxcn\">周公的专栏</a>")%></li>
<li><a href="http://blog.csdn.net/zhoufoxcn">周公的专栏</a></li>
</ul>
</body>
</html>
效果如下所示:
在上面的例子中我们想在网页中输出HTML代码,如果直接输出往往得不到想要的效果,这时可以借助HtmlEncode方法对要输出的HTML代码进行编码,这样输出到浏览器上的时候就能看到HTML代码,而不是HTML形成的效果。HtmlDecode方法则是用来消除这种影响。
如果我们直接输出“<a href="http://blog.csdn.net/zhoufoxcn">周公的专栏</a>”这个字符串的话,在网页上会显示一个超级链接,但是有时候我们希望把这个超级链接作为QueryString的一个参数,由于url地址的特殊性,比如“:”、“/”等字符串在URL地址中有特殊的含义,要想输出这些字符,直接输出是不行的,需要进行某种转换,并且将来还能转换回来。经过UrlEncode方法转换之后,“:”、“/”分别转换成了“%3a”和“%2f”这样的字符,并且汉字也进行了转换。UrlDecode方法则是将“%3a”和“%2f”等这样的字符转换成我们原本要表示的字符。