获取当前页面的文件夹名称ASP.NET C#

时间:2013-04-18 11:48:45

标签: c# asp.net

我在bulletedList中有一个导航栏。我这样做的目的是能够根据当前页面在网站上的位置来更改类。我有可以找到当前文件名的代码,但我希望能够检索当前文件所在文件夹的名称。我该怎么做?

protected void Page_Load(object sender, EventArgs e)
{
    string[] file = Request.CurrentExecutionFilePath.Split('/'); 
    string fileName = file[file.Length-1];

    if (fileName == "Dashboard.aspx")
    {
        MainNavList.Items.FindByText("Dashboard").Attributes.Add("class", "active");
    }
}

3 个答案:

答案 0 :(得分:2)

使用HttpContext.Current.Request.Url.AbsolutePath,您可以获取当前的网址路径。

例如,如果我访问的页面是:

http://www.website.com/Directory1/Directory2/Page.aspx

然后它将输出您可以使用split()的字符串:

/Directory1/Directory2/Page.aspx

答案 1 :(得分:1)

谢谢Yeronimo!我所做的只是将-1更改为-2并输入名为“Dashboard”的文件夹的名称。这对我有用:

protected void Page_Load(object sender, EventArgs e)
{
    string[] file = Request.CurrentExecutionFilePath.Split('/'); 
    string fileName = file[file.Length-2];

    if (fileName == "Dashboard")
    {
        MainNavList.Items.FindByText("Dashboard").Attributes.Add("class", "active");
    }

}

答案 2 :(得分:0)

尝试使用Request.MapPathRequest.PhysicalPath获取磁盘上ASPX文件的位置。