2009-12-22 57 views
0

按照惯例,我的所有网站的.aspx文件在相同路径中也有对应的.css文件。因此,例如,Default.aspx在同一个目录下有一个Default.css文件。ASP.NET:获取ASPX文件名

我写了一个扩展方法CSS标签添加到Page对象的头部,并用它这样的Page_Load

this.AddCssFileRange(new[] 
{ 
    "Default.css", 
    "../Master.css" 
}); 

我想用更换硬编码“Default.css”方法,派生这基于我的CSS约定。也就是说,我想用一个返回“Default.css”的方法替换它,因为Page的文件名称为“Default.aspx”。

如何检索“Default.aspx”文件名,以便我可以用“css”替换扩展名?

+0

你的用户名是关于什么的? – SLaks 2009-12-22 02:05:44

回答

1

喜欢倾向:Path.ChangeExtension(Request.CurrentExecutionFilePath, ".css")
即使您调用Server.Transfer,也会返回当前正在执行的页面。

+0

更好的实现是:System.IO.Path.GetFileNameWithoutExtension(Request.CurrentExecutionFilePath); 这只返回文件的名称,不包括路径(除非,当然,你想要的路径) – 2012-03-23 04:52:05