c# - 在操作中获取空参数

标签 c# asp.net asp.net-mvc asp.net-mvc-4 razor

我有一个 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/

相关文章:

c# - 以编程方式安装设备驱动程序

c# - 从另一个类访问公共(public) by​​te[] 数组

c# - 抑制 ASP.NET PageMethods 文档注释

javascript - jQuery 数据表 ASP.NET 问题

c# - 将 JSON 中的嵌套对象反序列化为特定类型

c# - Unity 容器 - 延迟注入(inject)

c# - 如何从文本中找到最大出现的单词?

css - 是否可以为特定的 MVC View 指定 CSS 类?

asp.net-mvc - Web API 和 MVC 如何协同工作?

asp.net-mvc - 将 Textarea 发布到 Controller (当前正在传递 null)-MVC