- mvc3のViewbagのスコープは、アクションメソッドを介してレンダリングしているページでのみ使用可能です。
- MVCのページ全体で情報を維持するにはどうすればよいですか。新しい従業員を作成し、次のページに移動するときにその従業員情報が必要だとします。
- MVCで状態を維持するにはどうすればよいですか。
質問する
7799 次
2 に答える
4
- ビューバッグはhttpcontextの一部です。これは主にコントローラーアクションで設定され、ビューで読み取られますが、http要求/応答内のmvcフレームワークのほぼどこからでもアクセスできます。
- リッチクライアントアプリの場合のように、Webには状態がありません。ページ間で値を維持するために(またはより適切には、リクエストからリクエストへ)、Cookie、セッション、クエリ文字列、リクエスト本文(投稿/プットリクエストを考えてください)を使用できます。
- #2と同じ。
于 2012-12-13T18:00:30.040 に答える
1
ViewBag
は動的な表現であり、すべてのページで使用できます。のデータViewBag
は、割り当てたとおりに変更されるものです。を割り当てる場合ViewBag.items=itemlist;
、View
それはそのに対して一定になりますView
。1ページに必要な数のデータを入れることができViewBag
、1ページの場合は次のようにできます。ViewBag.items=itemlist; ViewBag.table=usertable;
以下のように情報を維持したいビューをレンダリングするメソッドにパラメーターとしてデータを渡すことにより、MVCのページ全体で情報を維持できます。
public ActionResult CreateEmployee(EmployeeModel emp) { //Add Employee to db ViewBag.employee=emp; RedirectToAction("MethodToCall","Controller"); }
したがって、次のページには、従業員情報を含めることができます。ViewBag
または、を使用することもできますViewData
。
3]状態は、セッション、Cookieなどを使用して維持できます
于 2012-12-13T18:07:48.127 に答える