I have an object that has a few different List properties that contain child objects.
I'm trying to wrap my head around the best way for the user to select and add these child objects from a New view (where I'm creating a new instance of the parent object).
As an example, suppose I have a Project class and a "New" ViewPage that presents the user with the form to create a new Project. On this form, the user can supply data for the basic properties (no problems there) and then there is an area that allows the user to add ProjectExpense objects to this new Project. For each project expense, the user selects the category of the expense, a line item value, maybe a quantity. When the user wants to add more than one expense, we allow him to do so by providing a nice little jQuery row clone that gives him a new line to work with.
Where I stumble is how to get that data back to the Create action when the form is submitted. Right now, I'm trying to parse through an unknown number of these ProjectExpense rows, which is painful. It seems a better option might be to store the ProjectExpense object in some sort of Session or TempData bag on the server every time they add a line. Then in the action, we grab that bag and attach it to the parent object and persist as normal.
Any thoughts on how others are doing this kind of work?