如何将模型数据从一个控制器发送到另一个控制器

时间:2013-06-08 17:55:28

标签: asp.net-mvc asp.net-mvc-3

[HttpGet]
        public ActionResult BookingStep1()
        {
           return View(new BookingMainApplicantInfo());
        }

 [HttpPost]
        public ActionResult BookingStep1(BookingMainApplicantInfo mainApplicant)
        {
          return View(mainApplicant);
        }

  [HttpGet]
        public ActionResult BookingStep12()
        {
           //how to fetch data from above step 2 to here
            return View();
        }

情景是将会员数据发送到下一步,即下一步行动结果,我将计算发票并给出付款选项。

我应该使用会话还是应该将其保存到db?

1 个答案:

答案 0 :(得分:0)

  

我应该使用会话还是应该将其保存到db?

你应该把它们作为最后的选择。以下是我的建议。

  1. TempData的
  2. RedirectToAction
  3. TempData - 这就像DataReader一样。一旦读取密钥,数据将变为空。如果您仍希望在读取数据后保留数据,则可以使用下面的代码

    TempData.Alive()
    
    即使在读取特定键的Alive之后,

    TempData函数也会保留数据。

    RedirectToAction - 在此方法中,您可以在参数列表中设置查询字符串值。以下是示例代码。

    return RedirectToAction( "Action Name", 
                                 new RouteValueDictionary
                                 ( 
                                       new 
                                       { 
                                            controller = controllerName, 
                                            action = "Action Name", 
                                            QueryStringKey = "Query String Value" 
                                       } 
                                 )    
                           );