我有一个 asp.net mvc4 应用程序,我在其中执行操作 X
:
impaire_target = u.Get_Impaire_List().Find(x => x.id_paire == identificateur);
Session["id_paire"] = a;
return RedirectToAction("Page2","Pages",impaire_target );
行动Page2
public ActionResult Page2(Impaire impa)
{
try
{
User u = (User)Session["user"];
if (u.Login == null) RedirectToAction("Index", "Home");
}
catch { return RedirectToAction("Index", "Home"); }
if (impa == null)
{
return View();
}
return View(impa);
}
问题在于参数impa
始终为 null 。即使我尝试替换 return RedirectToAction("Page2","Pages",impaire_target );
通过return RedirectToAction("Page2","Pages",new{ impa=impaire_target} );
我得到了同样的结果。
这个问题的原因是什么?
最佳答案
您不能将 ModelBinding 与 RedirectToAction
一起使用,因此不能使用复杂类型作为匿名对象。尝试将对象转换为 RouteValueDictionary
:
return RedirectToAction("Page2", "Pages", new RouteValueDictionary(impaire_target));
旁注:您始终必须返回 RedirectToAction
,否则它将无法工作。
关于c# - 在操作中获取空参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19257154/