HttpRequest.AppRelativeCurrentExecutionFilePath Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém o caminho virtual da raiz da aplicação e torna-o relativo usando a notação tilde (~) para a raiz da aplicação (como em "~/page.aspx").
public:
property System::String ^ AppRelativeCurrentExecutionFilePath { System::String ^ get(); };
public string AppRelativeCurrentExecutionFilePath { get; }
member this.AppRelativeCurrentExecutionFilePath : string
Public ReadOnly Property AppRelativeCurrentExecutionFilePath As String
Valor de Propriedade
O caminho virtual da raiz da aplicação para o pedido atual.
Exemplos
O exemplo seguinte usa a AppRelativeCurrentExecutionFilePath propriedade para definir a URL de um Image controlo para uma imagem no mesmo diretório da página. Execute esta página em diferentes níveis de uma estrutura de diretórios para ver os valores resultantes AppRelativeCurrentExecutionFilePath das propriedades.
<%@ 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>
O exemplo seguinte utiliza a AppRelativeCurrentExecutionFilePath propriedade para definir programaticamente o caminho para um recurso, com base no caminho atual da página.
<%@ 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>
Observações
Use esta propriedade para fornecer informações de URL que se mantenham inalteradas mesmo que a aplicação mude de localização. Isto permite que o mesmo código de mapeamento de URLs seja usado num ambiente de teste e no ambiente de implementação final, ou que seja usado por cópias de aplicações Web em domínios diferentes.