从javascript在ViewBag中存储一个值

iLe*_*ing 16 javascript viewbag asp.net-mvc-3

如何在ViewBag中存储一个从javascript访问它的值?

Dar*_*rov 40

您无法通过javascript在ViewBag中存储值.ViewBag是服务器端概念,仅存在于服务器上.Javascript在客户端上运行.至于将ViewBag中的一些数据存储到javascript变量中,您可以使用以下内容:

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

现在我要说的是我总是建议人们不要在ASP.NET MVC中使用ViewBag/ViewData.我建议使用强类型视图和视图模型.所以你的代码看起来像这样:

@model MyViewModel
<script type="text/javascript">
    var foo = @Html.Raw(Json.Encode(Model))
</script>
Run Code Online (Sandbox Code Playgroud)