Estoy tratando de pasar un objeto de una acción de controlador a otra. El objeto que estoy pasando alrededor se ve más o menos así:RedirectToAction (..) falla el objeto complejo complejo
public class Person
{
public string Name { get; set; }
public List<PhoneNumber> PhoneNumbers {get; set; }
public List<Address> Addresses { get; set; }
}
Mi controlador se ve así:
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();
}
}
El método consecuencia falla con una excepción de puntero nulo ya que la lista es repente PHONENUMBERS null después de invocar la acción Result con el método RedirectToAction().
¿Alguien ha visto este tipo de comportamiento antes?
Saludos,
Peter
Hola T, Terminé usando el truco TempDaata para transferir objetos de una acción a la otra. Gracias por aclarar cómo funciona RedirectToAction. Esa fue la parte realmente confusa para mí. –