0

Javascript を使用して複数の PartialViews をロードする 1 つのページがあります。一部の Javascript で ViewBag にアクセスしようとしていますが、問題があります。

私の見解:

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

このビューを処理するコントローラー:

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

実行すると、Javascript アラートが表示されません。ビューの ViewBag の呼び出しの下に、「条件付きコンパイルがオフになっています」というハイライトが表示されます。

4

1 に答える 1

8

ビューがレンダリングされると、これが生成されます。

var test = test;

..これは明らかに有効な JavaScript ではありません。

引用符で囲む必要があります。

var test = "@ViewBag.test";

生成するもの:

var test = "test";

..有効な Javascript。

于 2013-10-29T10:35:10.197 に答える