Próbuję napisać niestandardowy segregator modelu, ale mam wielką trudność, próbując dowiedzieć się, jak powiązać złożone obiekty kompozytowe.Własny model spoiwa dla złożonych obiektów POMOC
to jest klasa staram się wiązać:
public class Fund
{
public int Id { get; set; }
public string Name { get; set; }
public List<FundAllocation> FundAllocations { get; set; }
}
i to jest jak moja próba pisania niestandardowego spoiwo wygląda następująco:
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;
}
}
Any pomysłów
dzięki Tony
Właśnie napisałem pytanie, a następnie w końcu wymyśliłem rozwiązanie tego samego rodzaju problemu. Dla zainteresowanych, możesz sprawdzić poniższy link: [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) –