0

我有一个使用 Javascript 加载多个 PartialViews 的页面。我正在尝试使用一些 Javascript 访问 ViewBag,但遇到了问题。

我的观点:

<div>
  <script>
    var test = @ViewBag.test;
    alert(test);
  </script>
</div>

处理此视图的控制器:

public PartialViewResult MyView()
{
  ViewBag.test = "test";
  return PartialView();
}

当我运行它时,不会出现 Javascript 警报。在 View 对 ViewBag 的调用下,我得到一个“条件编译已关闭”突出显示。

4

1 回答 1

8

当您的视图被渲染时,这就是产生的内容:

var test = test;

..这显然不是有效的javascript。

您需要将其括在引号中:

var test = "@ViewBag.test";

产生:

var test = "test";

..有效的Javascript。

于 2013-10-29T10:35:10.197 回答