Сохранить значение в ViewBag из JavaScript - PullRequest
16 голосов
/ 01 июня 2011

Как я могу сохранить значение в ViewBag, получая к нему доступ из javascript?

Ответы [ 2 ]

39 голосов
/ 01 июня 2011

Вы не можете сохранить значение в ViewBag из JavaScript.ViewBag является концепцией на стороне сервера и существует только на сервере.Javascript работает на клиенте.Что касается хранения некоторых данных из ViewBag в переменную javascript, вы можете использовать следующее:

<script type="text/javascript">
    var foo = @Html.Raw(Json.Encode(ViewBag.FooBar))
</script>

Теперь, как говорится, я всегда советую людям не использовать ViewBag / ViewData в ASP.NET MVC.Я рекомендую использовать строго типизированный вид и вид моделей.Итак, ваш код будет выглядеть так:

@model MyViewModel
<script type="text/javascript">
    var foo = @Html.Raw(Json.Encode(Model))
</script>
3 голосов
/ 01 июня 2011

Вы не можете. ViewBag - это вещь на стороне сервера, Javascript работает на стороне клиента.

...