問題タブ [viewbag]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
17 に答える
210534 参照

.net - ViewData と ViewBag の違いは何ですか?

MVC 3 でを見ました。MVC 2ViewBagとどう違うのViewDataですか?

0 投票する
1 に答える
9550 参照

asp.net-mvc - MVCでViewBagを使用するのは悪いですか?

mvc 3 チームはビューバッグと呼ばれるコントローラーとビューの間の動的データ交換のための機能を導入することを決定したようですが、それは私たちがよく知っている強く型付けされたビューに対して良いことですか? ViewBag厳密に型指定されたビューを使用する場合と比較して、ビューを使用する場合のプラス面とマイナス面は何ですか?

0 投票する
2 に答える
1283 参照

asp.net-mvc-3 - MVCビューが機能するためにViewディレクトリに存在する必要があるのはなぜですか?

私は、ページを生成するためのメインエンジンとしてMVCを使用してcmsを作成しています。

私はうまくいっていますが、必要に応じて、サイトごとに、場合によってはビューごとに、独自のかみそりテンプレートを作成する機能が必要でした。

私のルールでは、各プロジェクトにはURLにリンクされた一意のコードが必要です。

各プロジェクトサイトのアセットは、場所がプロジェクトに関連する方法で保存されます。

したがって、プロジェクトC0001に関連付けられたアセットはassets\C0001\、C0002に格納さassets\C0002\れます。

私がやりたかったのは、物事を整頓するために、そのassets\[ProjectCode]場所にあるプロジェクトに関連付けられたかみそりのテンプレートを用意することでしたが、問題は、に関するエラーが発生することViewBag not existing in contextです。

したがって、これは機能しません。

以下はページをレンダリングしますが、

最初のレイアウトは、ビューの既知の検索領域の外にあるため、レンダリングされないと思いますか?しかし、ファイルがどこにあるかを伝えているので、問題が何であるかわかりませんか?

例2のコードを使用して作業できてうれしいですが、かなりの数のプロジェクトサイトの後で、共有ビューディレクトリが非常にビジーになる可能性があります。

Viewsビューがディレクトリに存在する必要がある理由があるかどうか疑問に思っていますか?

0 投票する
16 に答える
143966 参照

dll - 「ViewBag」という名前は現在のコンテキストには存在しません

アプリケーションでViewBagを使用しようとしていますが、最新のdll、MVC 3の最新バージョンがすべてありますが、それでもエラーが発生します。

「「ViewBag」という名前は現在のコンテキストには存在しません」

MVC 3をアンインストールしてから再インストールしましたが、変更はありません。

また、dllがGACに表示されているとは思いません。

私の問題は何でしょうか?または、dllをGACに追加する方法は?

0 投票する
10 に答える
56170 参照

view - 部分ビューで MVC 3 ViewBag を変更しても、_Layout.cshtml に保持されない

Razor ビュー エンジンで MVC 3 を使用しています。部分ビュー内の ViewBag にいくつかの値を設定し、それらの値を _Layout.cshtml で取得したいと考えています。たとえば、既定の ASP.NET MVC 3 プロジェクトをセットアップすると、"/Views/Shared" フォルダーに _Layout.cshtml ファイルが作成されます。その _Layout.cshtml では、ページ タイトルは次のように設定されます。

次に、"/Views/Home/About.cshtml" ビューで、ViewBag の内容が変更されます。

これはうまくいきます。Aboutビューがレンダリングされると、ページのタイトルは「About Us」になります。そこで、About ビュー内で Partial ビューをレンダリングし、Partial ビュー内で ViewBag.Title を変更したいと考えています。("/Views/Shared/SomePartial.cshtml")

この部分ビューには、次のコードがあります。

このコードをデバッグすると、ViewBag.Title が「About Us」に設定され、部分ビューでは「About Us From The Partial View」にリセットされますが、コードが _Layout.cshtml にヒットすると、 「私たちについて」に戻ります。

これは、ViewBag のコンテンツが部分ビューで変更された場合、それらの変更はメイン ビュー (About.cshtml) または _Layout.cshtml に表示されない (アクセスできない) ということですか?

前もって感謝します!

0 投票する
2 に答える
4668 参照

vb.net - VB.NETのMVC3ViewBagでの遅延バインディングの問題

VB.NET MVC3プロジェクトでMVCスキャフォールディングを試していますが、Option Strictがオンに設定されている(そしてオンにしたい)遅延バインディングの問題が発生しています。

これはC#で機能します:

しかし、VB.NETの実質的に同じコード:

コンパイラエラーが発生します。OptionStrictOnは遅延バインディングを許可しませんhttp://msdn.microsoft.com/en-us/library/system.web.mvc.controllerbase.viewbag(VS.98).aspxのドキュメントを確認しましたが、あまり役に立ちませんでした。

C#の新しい空のアプリケーションはを使用しViewBagていますHomeControllerが、VB.NETバージョンはを使用してViewDataいるので、これはVB.NETの制限である可能性があります。

0 投票する
1 に答える
2701 参照

asp.net-mvc-3 - ASP.NETMVC3モデルバインディング-ViewBag.Titleがid="Title"の入力と衝突します

ViewBagの動的プロパティに問題があるようです。私が持っているとしましょう:

そして、私が持っているページのフォームで:

Titleは、データベーステーブルのフィールドの名前です。

ページが最初に開いたとき、IDが「Title」のテキストボックスは、ViewBag.Title動的プロパティの値を取ります。

モデルバインディングの正確な詳細については少しぼんやりしていますが、これはバグのようです。そうでない場合は、バインディングプロセスの結果として自然に発生するものである場合は、警告が表示されると便利です。これ。

私が見つけた回避策は、ViewBagプロパティの名前を次のように変更することでした。

(タイトルがTituloに変更されました-名前の衝突を避けるために、常に別の言語を知っておくとよいでしょう...)

そして、問題は解決しました。

ただし、問題は次のとおりです。

この動作は予想されるものですか?バグは簡単に見つけることができましたが(この質問を書くことを含めて、それを理解するのに1時間かかりました)、他のバグの方がもっと多いのではないかと思います。

編集:

質問の言い換え:

モデルバインダーは、ViewBagで見つかったプロパティを自動的にバインドしますか?強く型付けされたViewModelに既存のプロパティが存在する場合でも、ページに渡しましたか?確かにViewModelが優先されるべきですか?

0 投票する
1 に答える
529 参照

asp.net-mvc-3 - 文字列キーを使用して.NETMVCViewBagのプロパティにアクセスする方法はありますか?

私はViewBagに入れた値を持っています:

私の見解では、キーは文字列として保存されています。

この文字列バージョンのキーを使用して、Viewbagから自分の値にアクセスする方法はありますか?

0 投票する
3 に答える
412 参照

.net - オブジェクトをバッグに入れたいのはなぜですか?

System.Collections.ConcurrentBag<T>クラスに関するSOの質問を見たばかりで、ASP.NETMVCのViewBagプロパティを見ましたController。私の経験では、人々がコードを書く際に何をしているのかを正確に理解していれば、人々のコードを使用する方が簡単であることを学びました。List<T>aまたはaDictionary<TKey,TValue>またはaが何を表すのかについては、かなり直感的だと思いますReadOnlyCollection<T>。一方、 ABagはそれほど直感的ではありません。

だから、私の質問は次のとおりです。特に.NET Frameworkに関して、このメタファーは何を表すことを意味しますか?Bag