获取文件的路径
问题描述:
我正在使用下面的C#代码来获取URL到一个xml文件。当前页面是News.aspx,并且XML文件位于相同的文件夹中,这就是为什么它可以正常工作。获取文件的路径
xUrl = Request.Url.GetLeftPart(UriPartial.Path).Replace("News.aspx", "news.xml");
但是我觉得有点不对,如果News.aspx改变了怎么办?这是做这种事情的正确方法吗?或者有更好的方法来获取文件的URL?
感谢
答
我会用Server.MapPath
来获取文件的URL。
private string GetPathOfMyXMLFile(string name){
return Server.MapPath("~/Resources/"+name+".xml");
}
你就可以得到这个代码
// Bla bla load file
string path = GetPathOfMyXMLFile("News");
您可以添加www.donetnukelabs'建议答案,并跳出你的XML文件转换成设置存储的名称(web配置也许) ,如果它可能会改变。
答
有您能解决这个方法很多,你可以在系统中引入不变,也可以使用appSettings
在web.config中的相对路径存储为news.xml的文件夹。
你说得对,你现在的方法不被认为是好的做法。
+0
同意。使用配置设置,以便如果要将XML文件放在其他位置或重命名它,则只需更改配置文件中的设置,而不是重新编译代码... – Chris
你是指什么更好的方法?如果您知道文件的名称,请直接调用它。没有办法检测它是否改变了你。 – Oded