16

javascriptからアクセスするViewBagに値を格納するにはどうすればよいですか?

4

2 に答える 2

40

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>
于 2011-05-31T20:10:02.650 に答える
3

できません。ViewBag はサーバー側のものであり、Javascript はクライアント側で実行されます。

于 2011-05-31T20:09:56.410 に答える