Я пытаюсь передать объект из одного действия контроллера в другое. Объект, который я передаю вокруг выглядит более или менее, как это:RedirectToAction (..) с сложным глубоким объектом не работает
public class Person
{
public string Name { get; set; }
public List<PhoneNumber> PhoneNumbers {get; set; }
public List<Address> Addresses { get; set; }
}
Мой контроллер выглядит следующим образом:
public class DialogController : Controller
{
public ActionResult Index()
{
// Complex object structure created
Person person = new Person();
person.PhoneNumbers = new List();
person.PhoneNumbers.Add("12341324");
return RedirectToAction("Result", "Dialog", person);
}
public ActionResult Result(Person person)
{
string number = person.PhoneNumbers[0].ToString();
return View();
}
}
Метод результат не удается с нулевым указателем исключением, так как список номера телефонов внезапно null после вызова действия Result с помощью метода RedirectToAction().
Кто-нибудь видел этот тип поведения раньше?
Приветствия,
Питер
Hi T, В итоге я использовал трюк TempDaata для переноса объектов из одного действия в другое. Спасибо, что выяснили, как работает RedirectToAction. Для меня это была путаница. – 2009-08-31 14:31:49