如何从视图向控制器发送复杂数据(对象)?

时间:2010-10-01 03:40:45

标签: c# asp.net-mvc asp.net-mvc-2

我正在尝试将此Person对象从我的视图传递给没有Form的控制器,我该怎么做?

这是我的尝试:

查看

 <%=Html.ActionLink(
 "Jump", 
 "Jump", 
 new { name="MyName", 
 person=ViewData["Person"]}, // lets assume ViewData["Person"] is not null
 null) %>

CONTROLLER

    public ActionResult Jump(string name, Person person)
    {
        return View();
    }

在Jump方法中调试应用程序时,name参数显示“MyName”,但Person参数显示为null。为什么它会这样?

是因为它只适用于诸如int,string等原始类型,并且不适用于复杂类型,例如Person对象吗?

围绕它的方式是什么?

1 个答案:

答案 0 :(得分:2)

关于解析复杂类型,你的假设是正确的。

由于这将变为<a>,因此没有简单的方法可以将Person对象序列化以适合href属性。

尝试向Person传递某种独特的原始引用,例如intGUID