2010-10-01 3 views
0

Я пытаюсь передать этот объект Person из моего представления в контроллер без формы, как мне это сделать?Как отправить сложные данные (объект) из представления в контроллер?

Вот моя попытка:

VIEW

<%=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(); 
    } 

Во время отладки приложения в методе прыжка, имя параметра показывает "MyName", но Параметр Person в null. Почему он ведет себя так?

Это потому, что он работает только для примитивных типов, таких как int, string и т. Д., И не работает для сложных типов, таких как объект Person?

Какое у него отношение?

ответ

2

Вы исправите свое предположение относительно синтаксического анализа сложных типов.

Поскольку это будет превращено в <a>, нет простого способа сериализации объекта Person, чтобы он соответствовал атрибуту href.

Попробуйте передать какую-то уникальную примитивную ссылку на Лицо, такую ​​как int или GUID.

+0

thx для вашего входа, действительно оцените! – Ari

Смежные вопросы