Hi all
I'm writing an ASP.NET app. I need to include a page where the user can add an item which has several sets of subitems, each of which sets is unlimited in number. The subitems themselves contain between 10 and 15 fields, so need a fair bit of UI space.
As an example of what I mean, the user needs to be able to add a Business record to the system, including any number of Employee records and any number of Asset records.
The way I normally do this is by using a MultiView control with a set of tabs at the top. The tabs switch between the Views of the MultiView. The first tab will be for the Business record, the second will be for Employee records, and the third for Asset records. The Views for Employees and Assets are initially empty bar a button to add a new Employee (or Asset). When this button is clicked, the page is posted back and a user control is added dynamically to capture the details of the Employee (or Asset).
There is one save button that saves the whole object graph to the database.
This is quite complicated to program and maintain and I usually encounter headaches to do with managing ViewState for the dynamic user controls. Obviously, the ViewState on the page can also become quite large, making the page quite slow.
The advantage is that it is quite an intuitive UI for the user to understand, and the user can add everything and check it all before saving anything to the database.
Can you please suggest any other UI patterns that you might use for this and any advantages or disadvantages?
Thanks
David