从javascript在ViewBag中存储一个值

时间:2011-05-31 20:08:03

标签: javascript asp.net-mvc-3 viewbag

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

2 个答案:

答案 0 :(得分:39)

您无法通过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>

答案 1 :(得分:3)

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