Sto provando a passare un oggetto da un'azione del controller a un altro. L'oggetto che sto passando intorno sembra più o meno così:RedirectToAction (..) con il complesso oggetto profondo non riesce
public class Person
{
public string Name { get; set; }
public List<PhoneNumber> PhoneNumbers {get; set; }
public List<Address> Addresses { get; set; }
}
mio controller è simile al seguente:
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();
}
}
Il metodo seguito non riesce con un'eccezione di puntatore nullo in quanto l'elenco PhoneNumbers è improvvisamente null dopo aver richiamato l'azione Result con il metodo RedirectToAction().
Qualcuno ha già visto questo tipo di comportamento?
Cheers,
Peter
Hi T, Ho finito per usare il trucco TempDaata per trasferire oggetti da un'azione all'altra. Grazie per aver chiarito come funziona RedirectToAction. Questa è stata la vera parte confusa per me. –