2013-08-17 196 views
0

我正在研究MVC4項目,並面臨一個問題。我工作的項目是在web窗體中開發的。頁面的html已經保存在數據庫中。我從DB獲取這個html,在Views上展示它。現在的問題是,這個Html aslo包含圖像和鏈接,這些工作正常的網頁表單應用程序,但在MVC圖像和鏈接不工作,即圖像無法加載由於無效的路徑,雖然我做了相同的文件夾結構。這是一個例子。圖像不顯示在MVC

假設我在App_Themes/Theme1/Img/download_icon.gif文件夾中有一個圖像。現在在MVC項目中,如果我給這個圖像的像/App_Themes/Theme1/Img/download_icon.gif src它正確加載,但如果我給它的src像App_Themes/Theme1/Img/download_icon.gif它不加載,這是保存在Db中。我的問題是如何正確加載所有來自Db的圖像在html中?

+0

後您使用該路徑的代碼 – sergioadh

回答

0

你有一個棘手的情況。將Html標籤保存在數據庫中始終是一種不好的做法,因爲它可能會在將來導致這些類型的問題,這會給當前的開發人員帶來麻煩。根據我的意見,沒有解決辦法,但我建議你解決這個問題。這是虛擬目錄的問題,並希望我們可以通過Url.content重新啓動。

任何方式你從數據庫中獲取html。所以我相信你有類似的東西。 string htmlContent = getHtmlforPage1() 它會返回第一頁的所有html,並使用HtmlString()在您的視圖中顯示它。您可以用"<img src="+ Url.Content(blah\blah.img") />來代替<img src=blah\blah.img />。所有你需要的是寫下一個功能來實現這一點。

這個問題將提供有關)需要url.content( why use @Url.Content

如果可能的話,請避免更改HTML存儲在數據庫

+1

嗯,我知道網址內容,這正是我想要做的,但我硬編碼與Url.Content圖像,它不顯示我寫這如果我寫它像那麼它顯示 – Mairaj

+0

是的。 @ Url.Content用於Razor。但是我們需要用控制器中的值替換,所以你需要使用Url.Content – kbvishnu

+0

@MairajAhmad希望它能起作用嗎? – kbvishnu