1

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

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");
    }
}
4

3 回答 3

2

有了HttpContext.Current.Request.Url.AbsolutePath你就可以得到当前的 URL 路径。

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

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

然后它会输出你可以使用的字符串split()

/Directory1/Directory2/Page.aspx

于 2013-04-18T11:51:59.010 回答
1

谢谢耶罗尼莫!我所做的只是将 -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");
    }

}

于 2013-04-18T14:39:41.323 回答
0

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

于 2013-04-18T12:32:20.877 回答