您的位置:首页 > 编程语言 > ASP

ASP.NET内置对象之Server

2010-08-07 13:53 302 查看
注:本文主要是参考《ASP.NET 夜话》,加入了自己的整理

做asp.net开发时无需new就能使用的对象,如:

  Request ,Response ,Server ,Session ,Cookie ,Application
在asp.net中所有的网页都是继承自System.Web.UI.Page这个类。由于HTTP是一种无状态的协议,也就是它并不记得上一次谁请求过它,不会主动去询问客户端,只有当客户端主动请求之后,服务器才会响应。
3、Server
Server对象是用于获取服务器的相关信息的对象。它常用方法如下

属性名返回值类型说明
Executevoid执行指定的资源,并且在执行完之后再执行本页的代码
HtmlDecodestring消除对特殊字符串编码的影响
HtmlEncodestring对特殊字符串进行编码
MapPathstring获取指定相对路径在服务器上的无力路径
Transfer void停止执行当前程序,执行指定的资源
MapPathstring 对路径字符串进行解码
UrlEncodestring对路径字符串进行编码
上面的方法光从概念上来说,似乎还是让人不能分清他们到底有什么作用,特别Excure/ Transfer、HtmlEncode(HtmlDecode)/ UrlEncode(UrlDecode)这两组。在讲述他们分别之前先讲述MapPath这个方法的作用,在我们上传文件的时候要以物理路径保存上传文件到服务器,而我们使用得最多的是相对URL地址,这个方法就起到了将相对URL地址转换成服务器物理路径的作用。
例子:(新建一个单页面的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>
效果如下所示:



在上面的例子中我们想在网页中输出HTML代码,如果直接输出往往得不到想要的效果,这时可以借助HtmlEncode方法对要输出的HTML代码进行编码,这样输出到浏览器上的时候就能看到HTML代码,而不是HTML形成的效果。HtmlDecode方法则是用来消除这种影响。
如果我们直接输出“<a href="http://blog.csdn.net/zhoufoxcn">周公的专栏</a>”这个字符串的话,在网页上会显示一个超级链接,但是有时候我们希望把这个超级链接作为QueryString的一个参数,由于url地址的特殊性,比如“:”、“/”等字符串在URL地址中有特殊的含义,要想输出这些字符,直接输出是不行的,需要进行某种转换,并且将来还能转换回来。经过UrlEncode方法转换之后,“:”、“/”分别转换成了“%3a”和“%2f”这样的字符,并且汉字也进行了转换。UrlDecode方法则是将“%3a”和“%2f”等这样的字符转换成我们原本要表示的字符。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: