REM*_*ESQ 2 asp.net-mvc-3 asp.net-mvc-4
我昨天问了这个问题.
我相信我已经找到了使用TempData的答案.我的新问题是,是否通过动作(如向导步骤)沿着TempData进行串行将"保留"所有先前的TempData,或者如果我必须在每个动作中继续重新声明以"保持"它.
因此,如果TempData Step1具有字段1,2和3,然后Step2具有字段4,5和6,那么将在步骤3中保留1到6:
[HttpPost]
public ActionResult Step1 (Step1Model model)
{
if (ModelState.IsValid)
{
TempData["Step1"] = model;
return RedirectToAction("Step2")
}
return View(model);
}
public ActionResult Step2 (Step2Model model)
{
Step1Model step1 = (Step1Model)TempData["Step1"]
if (step1 == null)
{
return RedirectToAction("Step1")
}
TempData.Keep("Step1")
if (ModelState.IsValid)
{
TempData["Step2"] = model;
return RedirectToAction("Step3")
}
return View(model);
}
public ActionResult Step3()
{
TempData.Keep() // is this keeping Step1 and Step2?
return View();
}
Run Code Online (Sandbox Code Playgroud)
以上内容过于简单.最终,我可能有6个或7个步骤,想知道是否有第三步:当我在第二步(即没有重新声明使用第一步和第二步的:在一个新的第三步,我会写Step1Model step1...;和Step2Model step2...;?
| 归档时间: |
|
| 查看次数: |
4052 次 |
| 最近记录: |