2011-08-29 14 views

risposta

5

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.

+0

Ottimo, funziona! – hardywang

Problemi correlati