我在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");
}
}
答案 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.MapPath
或Request.PhysicalPath
获取磁盘上ASPX文件的位置。