Javascriptから値にアクセスするViewBagに値を保存するにはどうすればよいですか?
JavascriptからViewBagに値を保存することはできません。 ViewBagはサーバー側の概念であり、サーバー上にのみ存在します。 Javascriptはクライアントで実行されます。 ViewBagからjavascript変数にデータを保存することに関する限り、以下を使用できます。
<script type="text/javascript">
var foo = @Html.Raw(Json.Encode(ViewBag.FooBar))
</script>
そうは言っても、ASP.NETMVCでViewBag/ViewDataを使用しないように常にアドバイスしています。強く型付けされたビューとビューモデルを使用することをお勧めします。したがって、コードは次のようになります。
@model MyViewModel
<script type="text/javascript">
var foo = @Html.Raw(Json.Encode(Model))
</script>
できません。 ViewBagはサーバー側のものであり、Javascriptはクライアント側で実行されます。