Axi*_*ili 32 asp.net-mvc asp.net-mvc-2
我有一个List.aspx绑定到类的视图Kindergarten
在控制器中:
public ActionResult List(int Id)
{
Kindergarten k = (from k1 in _kindergartensRepository.Kindergartens
where k1.Id == Id
select k1).First();
return View(k);
}
Run Code Online (Sandbox Code Playgroud)
这样可行.
但事实并非如此
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Add(...)
{
//...
Kindergarten k = ...
return RedirectToAction("List", k);
}
Run Code Online (Sandbox Code Playgroud)
我应该如何重定向到列表视图,将k作为模型传递?
谢谢!
Oma*_*mar 56
使用RedirectToAction时,我不相信ModelBinding存在.但是,最好的选择是使用TempData集合来存储对象,并在以下操作中检索它.
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Add(...)
{
//...
Kindergarten k = ...
TempData["KG"] = k;
return RedirectToAction("List");
}
Run Code Online (Sandbox Code Playgroud)
在列表操作中
public ActionResult List()
{
Kindergarten k = (Kindergarten)TempData["KG"];
// I assume you need to do some stuff here with the object,
// otherwise this action would be a waste as you can do this in the Add Action
return View(k);
}
Run Code Online (Sandbox Code Playgroud)
注意:TempData集合仅保存单个后续重定向的对象.从Add添加任何重定向后,TempData ["KG"]将为null(除非您重新填充)
Bra*_*don 18
我不确定你是否打算打电话,RedirectToAction因为这只会导致k再次被设置.
我想你想要调用View并传递视图和模型的名称.
return View("List", k);
Run Code Online (Sandbox Code Playgroud)