Напишите модель как объект, доступный в Javascript - PullRequest
1 голос
/ 16 января 2011

в первый раз, используя Asp.Net MVC здесь.
У меня есть класс модели, определенный с 3 свойствами, и я хотел бы получить доступ к этой модели из кода JavaScript в представлении.

Лучшее, что я нашел, было эта страница Это позволило бы мне сделать что-то вроде этого:

<script>
 var model = <%= Model.ToJson() %>
 alert(model.Prop1);
</script>

Поскольку этот код основан на статье 2007 года, я былинтересно, есть ли лучший способ сделать это.

Спасибо!

1 Ответ

2 голосов
/ 16 января 2011

Да, это очень хороший способ для достижения этой цели.Он использует JavaScriptSerializer для сериализации вашей модели в объект JSON и обеспечения надлежащего экранирования.

В качестве альтернативы, если вы используете AJAX, вы можете напрямую вызвать действие контроллера, возвращающее JSON:

public ActionResult Foo()
{
    var model = FetchTheModel();
    return Json(model, JsonRequestBehavior.AllowGet);
}

, а затем с помощью jquery использовать это действие:

$.getJSON('<%= Html.Action("Foo") %>', function(result) {
    alert(result.Prop1);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...