web-dev-qa-db-ja.com

javascriptからViewBagに値を保存します

Javascriptから値にアクセスするViewBagに値を保存するにはどうすればよいですか?

16
iLemming

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>
40
Darin Dimitrov

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

3
Vilx-