ASP.NET - 在视图中访问 ViewBag



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

我的视图:

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

处理此视图的控制器:

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

当我运行它时,Javascript警报没有出现。我在视图对 ViewBag 的调用下得到一个"条件编译已关闭"突出显示。

渲染视图时,将生成以下内容:

var test = test;

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

您需要将其括在引号中:

var test = "@ViewBag.test";

它产生:

var test = "test";

..有效的Javascript。

最新更新