我正在使用下面的C#代碼來獲取URL到一個xml文件。當前頁面是News.aspx,並且XML文件位於相同的文件夾中,這就是爲什麼它可以正常工作。獲取文件的路徑
xUrl = Request.Url.GetLeftPart(UriPartial.Path).Replace("News.aspx", "news.xml");
但是我覺得有點不對,如果News.aspx改變了怎麼辦?這是做這種事情的正確方法嗎?或者有更好的方法來獲取文件的URL?
感謝
我正在使用下面的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的文件夾。
你說得對,你現在的方法不被認爲是好的做法。
同意。使用配置設置,以便如果要將XML文件放在其他位置或重命名它,則只需更改配置文件中的設置,而不是重新編譯代碼... – Chris
你是指什麼更好的方法?如果您知道文件的名稱,請直接調用它。沒有辦法檢測它是否改變了你。 – Oded