KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have an ASP.Net MVC application with a model which is several layers deep containing a collection. I believe that the view to create the objects is all set up correctly, but it just does not populate the collection within the model when I post the form to the server. I have a piece of data which is found in the class hierarchy thus: person.PersonDetails.ContactInformation[0].Data; This class structure is created by LinqToSQL, and ContactInformation is of type EntitySet<ContactData> . To create the view I pass the following: return View(person); and within the view I have a form which contains a single text box with a name associated to the above mentioned field: <%= Html.TextBox("person.PersonDetails.ContactInformation[0].Data")%> The post method within my controller is then as follows: [AcceptVerbs(HttpVerbs.Post)] public ActionResult Create (Person person) { //Do stuff to validate and add to the database } It is at this point where I get lost as person.PersonDetails.ContactInformation.Count() ==0. So the ModelBinder has created a ContactInformation object but not populated it with the object which it should hold (i.e ContactData) at index 0. My question is two fold: 1. Have I taken the correct approach.. i.e. should this work? 2. Any ideas as to why it might be failing to populate the ContactInformation object? Many thanks, Richard
Tags (comma-separated)
Save Edits
Cancel