16

如何将值存储在从 javascript 访问的 ViewBag 中?

4

2 回答 2

40

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

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

话虽如此,我总是建议人们不要在 ASP.NET MVC 中使用 ViewBag/ViewData。我推荐使用强类型视图和视图模型。因此,您的代码将如下所示:

@model MyViewModel
<script type="text/javascript">
    var foo = @Html.Raw(Json.Encode(Model))
</script>
于 2011-05-31T20:10:02.650 回答
3

你不能。ViewBag 是服务器端的东西,Javascript 在客户端运行。

于 2011-05-31T20:09:56.410 回答