HttpRequest.AppRelativeCurrentExecutionFilePath HttpRequest.AppRelativeCurrentExecutionFilePath HttpRequest.AppRelativeCurrentExecutionFilePath HttpRequest.AppRelativeCurrentExecutionFilePath Property

定义

获取应用程序根目录的虚拟路径,并通过对应用程序根目录使用波形符 (~) 表示法(例如,以“~/page.aspx”的形式)使该路径成为相对路径。Gets the virtual path of the application root and makes it relative by using the tilde (~) notation for the application root (as in "~/page.aspx").

public:
 property System::String ^ AppRelativeCurrentExecutionFilePath { System::String ^ get(); };
public string AppRelativeCurrentExecutionFilePath { get; }
member this.AppRelativeCurrentExecutionFilePath : string
Public ReadOnly Property AppRelativeCurrentExecutionFilePath As String

属性值

当前请求的应用程序根的虚拟路径。The virtual path of the application root for the current request.

示例

下面的示例使用AppRelativeCurrentExecutionFilePath属性将Image控件的 URL 设置为页所在的同一目录中的图像。The following example uses the AppRelativeCurrentExecutionFilePath property to set the URL of an Image control to an image in the same directory as the page. 在目录结构的不同级别运行此页可查看生成AppRelativeCurrentExecutionFilePath的属性值。Run this page at different levels of a directory structure to see the resulting AppRelativeCurrentExecutionFilePath property values.

<%@ 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属性,基于页面的当前路径以编程方式设置资源的路径。The following example uses the AppRelativeCurrentExecutionFilePath property to programmatically set the path to a resource, based on the current path of the page.

<%@ 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 信息。Use this property to provide URL information that will stay the same even if the application changes location. 这允许在测试环境和最终部署环境中使用相同的 URL 映射代码,或将其用于不同域中的 Web 应用程序副本。This allows the same URL-mapping code to be used in a test environment and in the final deployment environment, or to be used by copies of Web applications in different domains.

适用于