1
我有一個ASP.net MVC 4(Razor)應用程序。我們使用Dojo的1.9 Gridx來顯示數據。asp.net MVC - @ HTML.Raw寫出模型到頁面
我的控制器將我的模型返回到視圖。要使用在客戶端的模式工作,我通常會將其分配到JavaScript變量像這樣:
var _model = @Html.Raw(Json.Encode(Model));
然後我就可以通過_model到Dojo的是gridx控制。我不喜歡的是,如果您在瀏覽器中查看源代碼,_model中的數據在頁面上可見。設計中是否在瀏覽器中看到_model數據?還是有更好的方法來做到這一點?
對,我不希望模型的數據在頁面的源代碼中可見。我仍然可以查看模型的數據,即使分配給隱藏字段並將其刪除也不起作用。 – alpha
@alpha你是什麼意思,確切地說,通過刪除它不起作用?如果你調用'$(element).remove()',那麼根據[jQuery docs](http://api.jquery.com/remove/),該元素及其所有子元素都將被刪除。通過上面的代碼,您將在「_model」變量中留下整個視圖模型(使用JSON),並且您無法在頁面的源代碼中看到任何視圖模型數據。 – rwisch45
@alpha如果您只想將viewmodel數據轉換爲Javascript變量,以便您可以在某個Javascript框架中使用它,那麼您是否考慮過通過WebAPI獲取viewmodel?或者只是將它作爲JSON與MVC JSONResult一起返回?這兩個選項都會完全繞過將任何數據直接放入DOM – rwisch45