6
  1. mvc3のViewbagのスコープは、アクションメソッドを介してレンダリングしているページでのみ使用可能です。
  2. MVCのページ全体で情報を維持するにはどうすればよいですか。新しい従業員を作成し、次のページに移動するときにその従業員情報が必要だとします。
  3. MVCで状態を維持するにはどうすればよいですか。
4

2 に答える 2

4
  1. ビューバッグはhttpcontextの一部です。これは主にコントローラーアクションで設定され、ビューで読み取られますが、http要求/応答内のmvcフレームワークのほぼどこからでもアクセスできます。
  2. リッチクライアントアプリの場合のように、Webには状態がありません。ページ間で値を維持するために(またはより適切には、リクエストからリクエストへ)、Cookie、セッション、クエリ文字列、リクエスト本文(投稿/プットリクエストを考えてください)を使用できます。
  3. #2と同じ。
于 2012-12-13T18:00:30.040 に答える
1
  1. ViewBagは動的な表現であり、すべてのページで使用できます。のデータViewBagは、割り当てたとおりに変更されるものです。を割り当てる場合ViewBag.items=itemlist;Viewそれはそのに対して一定になりますView。1ページに必要な数のデータを入れることができViewBag、1ページの場合は次のようにできます。

    ViewBag.items=itemlist;
    ViewBag.table=usertable;
    
  2. 以下のように情報を維持したいビューをレンダリングするメソッドにパラメーターとしてデータを渡すことにより、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 に答える