Как отправить комплексные данные (объект) из представления в контроллер? - PullRequest
0 голосов
/ 01 октября 2010

Я пытаюсь передать этот объект Person из моего вида в контроллер без Form, как мне это сделать?

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

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

При отладке приложения в методе Jump параметр name показывает «MyName», но параметр Person в нуле.Почему он так себя ведет?

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

Что обойти это?

1 Ответ

2 голосов
/ 01 октября 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...