ASP.NET - 在视图中访问 ViewBag

本文关键字:访问 ViewBag 视图 NET ASP | 更新日期: 2023-09-27 18:37:28

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

我的视图:

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

处理此视图的控制器:

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

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

ASP.NET - 在视图中访问 ViewBag

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

var test = test;

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

您需要将其括在引号中:

var test = "@ViewBag.test";

它产生:

var test = "test";

..有效的Javascript。