VirtualPathUtility 類別

定義

提供虛擬路徑一般作業的公用程式方法。

public ref class VirtualPathUtility abstract sealed
public static class VirtualPathUtility
type VirtualPathUtility = class
Public Class VirtualPathUtility
繼承
VirtualPathUtility

範例

下列程式碼範例示範如何使用 VirtualPathUtility 類別及其一些方法。 首先, FilePath 屬性會產生網頁的虛擬路徑。 GetFileNameGetExtensionGetDirectory 方法會傳回虛擬路徑的相關資訊。 接下來, CurrentExecutionFilePath 屬性會產生目前要求的虛擬路徑,如果 Redirect 呼叫 方法,則可能與 FilePath 屬性不同。 IsAbsoluteIsAppRelativeToAppRelative 方法會傳回虛擬路徑的相關資訊。

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
  protected void Page_Load(object sender, EventArgs e)
  {
    // <Snippet2> 
    StringBuilder sb = new StringBuilder();
    String pathstring = 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());
    // </Snippet2>
    
    // <Snippet3>
    StringBuilder sb2 = new StringBuilder();
    String pathstring1 = 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());
    // </Snippet3>
}
</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>
<%@ 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)
    
    ' <Snippet2>
    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())
    ' </Snippet2>
    
    ' <Snippet3>
    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())
    ' </Snippet3>

  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>

備註

類別 VirtualPathUtility 提供涉及虛擬路徑之常見作業的公用程式方法。 對於 ASP.NET 伺服器控制項和伺服器程式碼,使用 Web 應用程式根運算子的虛擬路徑、波浪 (~) ,通常會使用 ,而不是相對和絕對路徑。 如需詳細資訊,請參閱 ASP.NET Web 專案路徑

VirtualPathUtility當您需要將應用程式相對路徑轉換成絕對虛擬路徑時,請使用 類別,如同開發自訂 Web 服務處理常式時的情況。

絕對虛擬路徑的開頭為常值斜線標記 (/) 。 相對虛擬路徑相對於應用程式根目錄,如果它只是波浪線 (~) ,或以波浪線和雙反斜線 (~\\) 或波浪線和斜線標記 (~/) 開頭。 讓虛擬路徑相對地讓路徑與應用程式無關。

您可以從 和 ApplicationPath 屬性取得 AppDomainAppVirtualPath 應用程式的虛擬目錄。

注意

類別 VirtualPathUtility 不適用於安全性或標準化用途。 如需 Web 應用程式安全性的詳細資訊,請參閱 Web 應用程式安全性威脅概觀。 如需一般 URL 處理功能,請參閱 Uri

方法

AppendTrailingSlash(String)

將常值斜線符號 (/) 附加至虛擬路徑結尾 (如果沒有的話)。

Combine(String, String)

結合基底路徑和相對路徑。

GetDirectory(String)

傳回虛擬路徑的目錄部分。

GetExtension(String)

擷取虛擬路徑中參考的副檔名。

GetFileName(String)

擷取虛擬路徑中參考的檔案名稱。

IsAbsolute(String)

傳回布林值,指出所指定的虛擬路徑是否為絕對,亦即,以常值斜線符號 (/) 開頭。

IsAppRelative(String)

傳回布林值,指出所指定的虛擬路徑是否相對於應用程式。

MakeRelative(String, String)

傳回從某個包含根目錄運算子 (波狀符號 [~]) 之虛擬路徑到另一個虛擬路徑的相對虛擬路徑。

RemoveTrailingSlash(String)

從虛擬路徑移除尾端斜線符號 (/)。

ToAbsolute(String)

將虛擬路徑轉換成應用程式絕對路徑。

ToAbsolute(String, String)

使用指定的應用程式路徑,將虛擬路徑轉換成應用程式絕對路徑。

ToAppRelative(String)

使用 AppDomainAppVirtualPath 屬性中的應用程式虛擬路徑,將虛擬路徑轉換成相對應用程式路徑。

ToAppRelative(String, String)

使用指定的應用程式路徑,將虛擬路徑轉換成相對應用程式路徑。

適用於

另請參閱