2015-05-05 33 views
1

在我的asp.net應用程序中有一個從xml文件構建的菜單。該菜單使用帶有DataFile = "~/App_Data/SideMenu.xml"的XmlDataSource。該文件具有屬性"Build Action"=Content"Copy to Output Directory"="Do not copy"在asp.net中的GetContentStream替代方法

現在我想在我自己的代碼中使用這個文件,並試圖用GetContentStream打開它,但在asp.net中這似乎不可能(應用程序對象的問題)。我有點想改變文件的設置。

我有什麼選擇? (XmlDataSource顯然是這樣)

+0

所以你想使用一個文件,但你不想讓它可用於該程序? – oleksii

+0

當然,建立菜單時顯然對程序有效。我認爲正確的事情會做,將做菜單數據源做到這一點...... –

回答

0

您已經提到的第一步是爲文件設置Build Action = Content

然後讀取文件,您可以使用HttpServerUtilityBase.MapPath獲取物理文件路徑。從ASP.NET MVC控制器內,你可以簡單地使用Server屬性:

var xml = XDocument.Load(Server.MapPath("~/App_Data/SideMenu.xml")); 

還是從Server屬性來訪問它的全球HttpContext.Current對象。

相關問題