关于System.Web.VirtualPathUtility类
VirtualPathUtility 类为涉及虚拟路径的常见操作提供实用工具方法。对于 ASP.NET 服务器控件和服务器代码,则通常使用那些采用 Web 应用程序根操作符(即代字号“~”)的虚拟路径而不是相对和绝对路径。有关更多信息,请参见 ASP.NET 网站路径。
当您需要将应用程序相对路径转换为绝对虚拟路径时(在开发自定义 Web 服务处理程序时就可能是这种情况),应使用 VirtualPathUtility 类。
绝对虚拟路径以正斜杠 (/) 开头。如果某一虚拟路径仅为一个代字号 (~) 或者以代字号后跟双反斜杠 (~\\) 或一个代字号后跟一个正斜杠 (~/) 开头,则该路径为相对于应用程序根目录的相对虚拟路径。使虚拟路径成为相对路径将使该路径与应用程序无关。
应用程序的虚拟目录可从 AppDomainAppVirtualPath 和 ApplicationPath 属性获得。
注意 |
|---|
|
VirtualPathUtility 类不适用于安全或规范化目的。有关 Web 应用程序安全性的更多信息,请参见 Web 应用程序安全威胁概述。有关通用 URL 处理功能,请参见 Uri。 |
下面的代码示例演示如何使用 VirtualPathUtility 类及其某些方法。首先,FilePath 属性生成网页的虚拟路径。GetFileName、GetExtension
和 GetDirectory
方法返回关于该虚拟路径的信息。接下来,CurrentExecutionFilePath
属性生成当前请求的虚拟路径,如果调用了 Redirect 方法,该路径可能与
FilePath 属性不同。IsAbsolute、IsAppRelative
和 ToAppRelative
方法返回关于该虚拟路径的信息。
| Visual Basic |
复制代码 |
|---|---|
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Dim sb As New StringBuilder()
Dim pathstring As String = Context.Request.FilePath.ToString()
sb.Append("Current file path = " & pathstring & "<br>")
sb.Append("File name = " & VirtualPathUtility.GetFileName(pathstring).ToString() & "<br>")
sb.Append("File extension = " & VirtualPathUtility.GetExtension(pathstring).ToString() & "<br>")
sb.Append("Directory = " & VirtualPathUtility.GetDirectory(pathstring).ToString() & "<br>")
Response.Write(sb.ToString())
Dim sb2 As New StringBuilder()
Dim pathstring1 As String = Context.Request.CurrentExecutionFilePath.ToString()
sb2.Append("Current Executing File Path = " & pathstring1.ToString() & "<br>")
sb2.Append("Is Absolute = " & VirtualPathUtility.IsAbsolute(pathstring1).ToString() & "<br>")
sb2.Append("Is AppRelative = " & VirtualPathUtility.IsAppRelative(pathstring1).ToString() & "<br>")
sb2.Append("Make AppRelative = " & VirtualPathUtility.ToAppRelative(pathstring1).ToString() & "<br>")
Response.Write(sb2.ToString())
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>VirtualPathUtility Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
|
|
注意
复制代码
浙公网安备 33010602011771号