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

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

问题描述:

我想从我的视图传递这个人物对象到控制器没有窗体,我该怎么做?如何将复杂数据(对象)从视图发送到控制器?

这里是我的尝试:

VIEW

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

控制器

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

在调试中跳转方法的应用程序,名称参数显示 “MYNAME”,但Person中的参数为null。它为什么这样表现?

是因为它仅适用于基本类型,如int,字符串等,并且不适用于复杂类型,如Person对象?

这是怎么回事?

对于解析复杂类型,您的假设是正确的。

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

尝试将某种独特的原始参考传递给Person,如intGUID

+0

thx为您的输入,真的很感激! – Ari 2010-10-04 02:08:54