VirtualPathUtility 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供虛擬路徑一般作業的公用程式方法。
public ref class VirtualPathUtility abstract sealed
public static class VirtualPathUtility
type VirtualPathUtility = class
Public Class VirtualPathUtility
- 繼承
-
VirtualPathUtility
範例
下列程式代碼範例示範如何使用 VirtualPathUtility 類別及其一些方法。 首先, FilePath 屬性會產生網頁的虛擬路徑。 GetFileName、 GetExtension和 GetDirectory 方法會傳回虛擬路徑的相關信息。 接下來,CurrentExecutionFilePath屬性會產生目前要求的虛擬路徑,如果Redirect呼叫方法,則可能與 FilePath 屬性不同。 IsAbsolute、 IsAppRelative和 ToAppRelative 方法會傳回虛擬路徑的相關信息。
<%@ 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) |
使用指定的應用程式路徑,將虛擬路徑轉換成相對應用程式路徑。 |