HttpRequest.AppRelativeCurrentExecutionFilePath Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает виртуальный путь корня приложения и делает его относительным, используя тильду (~) для корня приложения (как в "~/page.aspx").
public:
property System::String ^ AppRelativeCurrentExecutionFilePath { System::String ^ get(); };
public string AppRelativeCurrentExecutionFilePath { get; }
member this.AppRelativeCurrentExecutionFilePath : string
Public ReadOnly Property AppRelativeCurrentExecutionFilePath As String
Значение свойства
Виртуальный путь корня приложения для текущего запроса.
Примеры
В следующем примере свойство используется AppRelativeCurrentExecutionFilePath для задания URL-адреса Image элемента управления изображением в том же каталоге, что и страница. Запустите эту страницу на разных уровнях структуры каталогов, чтобы просмотреть полученные AppRelativeCurrentExecutionFilePath значения свойств.
<%@ Page Language="C#"%>
<!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">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
// Get an image that is in the same directory as the currently executing control.
Image1.ImageUrl =
VirtualPathUtility.GetDirectory(Request.AppRelativeCurrentExecutionFilePath)
+ "image1.jpg";
Label1.Text = "App-relative Image URL = " + Image1.ImageUrl;
}
</script>
<head id="Head1" runat="server">
<title>HttpRequest AppRelativeCurrentExecutionFilePath</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Image ID="Image1" runat="server" /><br />
<asp:Label ID="Label1" runat="server" />
</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">
<html xmlns="http://www.w3.org/1999/xhtml">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
' Get an image that is in the same directory as the currently executing control.
Image1.ImageUrl = VirtualPathUtility.GetDirectory( _
Request.AppRelativeCurrentExecutionFilePath) + "image1.jpg"
Label1.Text = "App-relative Image URL = " + Image1.ImageUrl
End Sub
</script>
<head id="Head1" runat="server">
<title>HttpRequest AppRelativeCurrentExecutionFilePath</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Image ID="Image1" runat="server" /><br />
<asp:Label ID="Label1" runat="server" />
</div>
</form>
</body>
</html>
В следующем примере свойство используется AppRelativeCurrentExecutionFilePath для программного задания пути к ресурсу на основе текущего пути страницы.
<%@ 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)
{
Label1.Text = Request.ApplicationPath;
Image1.ImageUrl = Request.ApplicationPath + "/images/Image1.gif";
Label2.Text = Image1.ImageUrl;
Label3.Text = Request.AppRelativeCurrentExecutionFilePath;
if (VirtualPathUtility.GetDirectory(
Request.AppRelativeCurrentExecutionFilePath).Equals("~/Members/"))
{
Image2.ImageUrl = Request.ApplicationPath +
"/memberimages/Image1.gif";
}
else
{
Image2.ImageUrl = Request.ApplicationPath +
"/guestimages/Image1.gif";
}
Label4.Text = Image2.ImageUrl;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>HttpRequest.ApplicationPath Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
This is the ApplicationPath from the current page:<br />
<asp:Label ID="Label1" runat="server" ForeColor="Brown" /><br />
Use it to link to resources at fixed locations in the application.<br />
<asp:Image ID="Image1" runat="server" />
<asp:Label ID="Label2" runat="server" ForeColor="Brown" />
<br /><br />
This is the AppRelativeCurrentExecutionFilePath to the current page:<br />
<asp:Label ID="Label3" runat="server" ForeColor="Brown" /><br />
Use it to help programatically construct links to resources based on the location of the current page.<br />
<asp:Image ID="Image2" runat="server" />
<asp:Label ID="Label4" runat="server" ForeColor="Brown" />
</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)
Label1.Text = Request.ApplicationPath
Image1.ImageUrl = Request.ApplicationPath + "/images/Image1.gif"
Label2.Text = Image1.ImageUrl
Label3.Text = Request.AppRelativeCurrentExecutionFilePath
If (VirtualPathUtility.GetDirectory( _
Request.AppRelativeCurrentExecutionFilePath).Equals( _
"~/Members/")) _
Then
Image2.ImageUrl = Request.ApplicationPath & _
"/memberimages/Image1.gif"
Else
Image2.ImageUrl = Request.ApplicationPath & _
"/guestimages/Image1.gif"
End If
Label4.Text = Image2.ImageUrl
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>HttpRequest.ApplicationPath Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
This is the ApplicationPath from the current page:<br />
<asp:Label ID="Label1" runat="server" ForeColor="Brown" /><br />
Use it to link to resources at fixed locations in the application.<br />
<asp:Image ID="Image1" runat="server" />
<asp:Label ID="Label2" runat="server" ForeColor="Brown" />
<br /><br />
This is the AppRelativeCurrentExecutionFilePath to the current page:<br />
<asp:Label ID="Label3" runat="server" ForeColor="Brown" /><br />
Use it to help programatically construct links to resources based on the location of the current page.<br />
<asp:Image ID="Image2" runat="server" />
<asp:Label ID="Label4" runat="server" ForeColor="Brown" />
</div>
</form>
</body>
</html>
Комментарии
Используйте это свойство для предоставления сведений о URL-адресе, которые останутся неизменными, даже если приложение изменит расположение. Это позволяет использовать тот же код сопоставления URL-адресов в тестовой среде и в окончательной среде развертывания или использовать копии веб-приложений в разных доменах.