我開始之前,我想講清楚我的代碼工作正常,這更多的是一種「普通的最佳實踐」的問題。我正在使用knockout.js將我的ASP.NET MVC2模型加載到knockout的viewModel中。淘汰賽asp.net的MVC視圖模型JSON在頁面的源代碼
在我的aspx頁面我有:
<script>
var model = <%= new JavaScriptSerializer().serialize(Model) %>;
// the above line will display in my page's "View Source". Is this bad? slow?
</script>
然後在我的JavaScript包括在上面的文件我有:
$(document).ready(function() {
var viewModel = new MyViewModel();
ko.applyBindings(viewModel);
viewModel.modelProp(model);
});
代碼完全工作正常,但值得關注的我有這個在HTML輸出中,瀏覽器的「查看源代碼」選項中可以查看JSON輸出。我很好奇兩件事情:
這是否也發生在ASP.NET MVC3?我使用ASP.NET MVC2,因此我不能使用@ Html.Raw(Json.Encode(Model)); - 但是MVC3方法是否會導致相同的問題?
這是不是我應該關心?這是一個安全問題嗎?這是一個性能問題嗎?頁面的源代碼會更大,因爲我將JSON輸出到JavaScript變量中,不是?再一次,也許這不是MVC3中的問題?
它也將發生在MVC3,與'@ Html.Raw'方法。 – Tyrsius