2010-05-26 93 views
0

這裏編碼這個網站的數據是我的看法代碼:我應該在哪裏在asp.net的MVC網站

<%=Model.HtmlData %> 

這裏是我的控制器代碼:

public ActionResult GetPage() 
    { 
     ContentPageViewModel vm = new ContentPageViewModel(); 
     vm.HtmlData = _htmlPageRepository.Get("key"); 
     return View(vm); 
    } 

我的倉庫類基本查詢數據庫表具有字段:

id, pageName, htmlContent 

的獲得()方法通過在一個頁面名(或鍵)並返回htmlContent值。

現在我剛剛開始這個(還沒有堅持任何數據庫),所以我現在沒有在我的代碼中做任何明確的編碼。

是什麼,我需要做的編碼(模型,控制器,視圖??)

回答

4

編碼是視圖的關注的最佳實踐。您可能有兩個完全不同的顯示器使用相同的數據庫,因此通常不建議將數據存儲在特定視圖所需的狀態中。

作爲一個側面說明...如果你使用的是.NET 4

<%: Model.HtmlData %> 

是新

<%= Sever.HtmlEncode(Model.HtmlData) %> 
+0

很好的回答,但我還要提到'HttpUtility.HtmlAttributeEncode()'在如果您將數據粘貼到屬性中。 – Jason 2010-05-26 15:02:55

+0

我正在編輯並將其保存到數據庫。那麼你是說直接保存,而沒有對持久性進行任何編碼? – leora 2010-05-26 15:29:14

+0

快速故事 - 我在某處將所有內容編碼到數據庫中以保存處理(您在完成作業時將其編碼一次)。數據顯示在網站上,一切都很好。然後,他們在數據之上添加了一個新的UI,在一個信息亭內運行 - 而且它不是基於網絡的 - 所以他們最終不得不在每次他們想要顯示數據時都對其進行解碼。如果UI需要一個特定的編碼/提琴,它應該負責這樣做。數據不應該受到此要求的污染。希望這可以幫助。 – Fenton 2010-05-27 06:29:16

相關問題