2011-11-07 241 views
0

我正在使用下面的C#代碼來獲取URL到一個xml文件。當前頁面是News.aspx,並且XML文件位於相同的文件夾中,這就是爲什麼它可以正常工作。獲取文件的路徑

xUrl = Request.Url.GetLeftPart(UriPartial.Path).Replace("News.aspx", "news.xml"); 

但是我覺得有點不對,如果News.aspx改變了怎麼辦?這是做這種事情的正確方法嗎?或者有更好的方法來獲取文件的URL?

感謝

+1

你是指什麼更好的方法?如果您知道文件的名稱,請直接調用它。沒有辦法檢測它是否改變了你。 – Oded

回答

1

我會用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配置也許) ,如果它可能會改變。

1

有您能解決這個方法很多,你可以在系統中引入不變,也可以使用appSettings在web.config中的相對路徑存儲爲news.xml的文件夾。

你說得對,你現在的方法不被認爲是好的做法。

+0

同意。使用配置設置,以便如果要將XML文件放在其他位置或重命名它,則只需更改配置文件中的設置,而不是重新編譯代碼... – Chris