是否存在用於在ASP.NET MVC視圖中轉義JavaScript的實用程序功能?我經常需要使用視圖中的一些值來初始化JavaScript的一小段代碼;比如我可能有類似:在視圖中轉義JavaScript字符串文字
<script type="text/javascript">
var page = new Page({ currentUser: "<%= Model.UserName %>" });
page.init();
</script>
我希望是這樣的:
<script type="text/javascript">
var page = new Page({ currentUser: "<%= Html.JavaScriptEscape(Model.UserName) %>" });
page.init();
</script>
我當然可以,寫函數自己。但是由於已經有內置的實用程序形成了HTML編碼,並且由於ASP.NET MVC的賣點之一就是<%>是默認的渲染模式,並且我試圖實現的功能很常見,這讓我想知道爲什麼我找不到那些已經內置的東西。有沒有,例如,一個簡單而優雅的方式來在視圖中將對象序列化爲JSON?
或者正在對ASP.NET MVC原則做些什麼?當我遇到像這樣的問題時,它通常會讓我覺得要麼我做錯了什麼,因爲我認爲框架設計師花了一些時間思考真實世界的情景。