Эквивалент синтаксиса бритвы - PullRequest
8 голосов
/ 25 февраля 2011

Следующая строка появляется в одном из моих файлов javascript, каков будет ее синтаксис в Razor.

var initialData = <%= new JavaScriptSerializer().Serialize(Model) %>;

Ответы [ 3 ]

22 голосов
/ 25 февраля 2011

Как это:

@Html.Raw(new JavaScriptSerializer().Serialize(Model))

Вызов Html.Raw необходим для предотвращения экранирования HTML.

7 голосов
/ 26 февраля 2011

Для более краткого восприятия вы можете использовать метод Encode веб-страниц Json:

var initialData = @Html.Raw(Json.Encode(Model))
1 голос
/ 11 декабря 2013

Если вы хотите, чтобы сериализованный JavaScript правильно поддерживал DateTime, используйте вместо этого сериализатор из Json.NET .Согласно этой записи , даже Microsoft использует это для сериализации с MVC4.

var initialData = @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...