Estoy tratando de escribir un encuadernador de modelo personalizado, pero estoy teniendo grandes dificultades para tratar de averiguar cómo vincular objetos compuestos complejos.Encuadernador de modelo personalizado para objetos compuestos complejos AYUDA
esta es la clase que estoy tratando de obligar a:
public class Fund
{
public int Id { get; set; }
public string Name { get; set; }
public List<FundAllocation> FundAllocations { get; set; }
}
y esto es cómo mi intento de escribir la carpeta de encargo se parece a:
public class FundModelBinder : IModelBinder
{
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
throw new NotImplementedException();
}
public object GetValue(ControllerContext controllerContext, string modelName, Type modelType, ModelStateDictionary modelState)
{
var fund = new Fund();
fund.Id = int.Parse(controllerContext.HttpContext.Request.Form["Id"]);
fund.Name = controllerContext.HttpContext.Request.Form["Name"];
//i don't know how to bind to the list property :(
fund.FundItems[0].Catalogue.Id = controllerContext.HttpContext.Request.Form["FundItem.Catalogue.Id"];
return fund;
}
}
¿Ideas
gracias Tony
Acabo de publicar una pregunta y finalmente descubrí una solución para este mismo tipo de problema. Para aquellos interesados, es posible que desee consultar el siguiente enlace: [http://stackoverflow.com/questions/1077481/how-do-i-pass-a-dictionary-as-a-parameter-to-an-actionresult -method-from-jquery-a] (http://stackoverflow.com/questions/1077481/how-do-i-pass-a-dictionary-as-a-parameter-to-an-actionresult-method-from- jquery-a) –