私は次のように使用します。
<script type="text/javascript">
var initialData = @Html.Raw(new JavaScriptSerializer().Serialize(Model));
</script>
これはまさにあなたの例(Html.Raw
に注意してください)と同じです。
したい場合は(HTML)エンコードされたか、あなたのコードの出力はIHtmlStringを返します。@new JavaScriptSerializer(..)
を使用して後(最初のスペースでカミソリパーサを停止させますので、
<script type="text/javascript">
var initialData = @(new JavaScriptSerializer().Serialize(Model));
</script>
あなたは、@(...)
構文を使用しますか新しい)。
このような構文:
<script type="text/javascript">
var initialData = @{ new JavaScriptSerializer().Serialize(Model); }; @* <== wrong *@
</script>
は、それがnew JavaScriptSerializer
を呼び出すために動作しますが、出力を破棄しません。
出典
2011-08-29 15:04:53
GvS
偉大な、それは動作します! – hardywang