<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="收集ASP.NET 中得到网站绝对路径的几种方法" id="card1">
<p> 游客</p><p>
标题:收集ASP.NET 中得到网站绝对路径的几种方法<br/>
正文:<br/>
在编写 ASP.NET 应用程序的时候，有时为了更好地进行控制静态文件的路径，如在模板页或者用户控件中设置js或者css文件的路径等，采用绝对路径是难免的。下面就是几种获取绝对路径的几种方法。C# 代码VirtualPathUtility.ToAbsolute( &amp;quot; ~/ &amp;quot; )HttpRuntime.AppDomainAppVirtualPathRequest.ApplicationPathPage.ResolveUrl( &amp;quot; ~ &amp;quot; )以上代码生成的结果如下：当以网站的方式访问时，结果如下： VirtualPathUtility.ToAbsolute(&amp;quot;~/&amp;quot;)= /HttpRuntime.AppDomainAppVirtualPath= /Request.ApplicationPath= /Page.ResolveUrl(&amp;quot;~&amp;quot;)= /当以虚拟目录（http://localhost:806/web2/url.aspx）访问时，结果如下：VirtualPathUtility.ToAbsolute(&amp;quot;~/&amp;quot;)= /web2/HttpRuntime.AppDomainAppVirtualPath= /web2Request.ApplicationPath= /web2Page.ResolveUrl(&amp;quot;~&amp;quot;)= /web2/采用第二种和第三种方法，还需要做一下处理，因为网站访问时是以/结尾，而以虚拟目录访问时则是没有/的，进行还得进行一次判断，稍微麻烦一点。但是，这些方法在页面中使用是没有任何问题的，但是如果在 Global 的 Application_Start 事件里需要得到网站的绝对路径，则需要使用前面2种方法，如果使用第三种方法，则会报告如下的错误：Request is not available in this context 所以，只能采取头2种方法。例如C# 代码void Application_Start( object sender, EventArgs e){   &amp;nbs<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=118&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=118&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=118&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=118&amp;Page=2">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=118">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=118">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>