Vorrei utilizzare il seguente:
<script type="text/javascript">
var initialData = @Html.Raw(new JavaScriptSerializer().Serialize(Model));
</script>
Questo è esattamente lo stesso del vostro esempio (notare il Html.Raw
).
Se si desidera che l'output (HTML) codificato o il codice restituisce un IHtmlString:
<script type="text/javascript">
var initialData = @(new JavaScriptSerializer().Serialize(Model));
</script>
Si desidera utilizzare @(...)
la sintassi, perché l'utilizzo di @new JavaScriptSerializer(..)
lascerà la fermata Razor parser al primo spazio (dopo nuovo).
La sintassi simili:
<script type="text/javascript">
var initialData = @{ new JavaScriptSerializer().Serialize(Model); }; @* <== wrong *@
</script>
non funziona perché chiamerà new JavaScriptSerializer
, ma scartare l'uscita.
Ottimo, funziona! – hardywang