Я пишу приложение ASP.NET. Мне нужно включить страницу, где пользователь может добавить элемент, который имеет несколько наборов подпунктов, каждый из которых не ограничен в количестве. Сами подэлементы содержат от 10 до 15 полей, поэтому требуется немало места для пользовательского интерфейса.
В качестве примера того, что я имею в виду, пользователь должен иметь возможность добавлять бизнес-записи в систему, включая любое количество записей сотрудников и любое количество записей активов.
Обычно я делаю это с помощью элемента управления MultiView с набором вкладок вверху. Вкладки переключаются между представлениями MultiView. Первая вкладка предназначена для бизнес-записи, вторая - для записей сотрудников, а третья - для записей активов. Представления для сотрудников и активов изначально представляют собой пустую панель с кнопкой для добавления нового сотрудника (или актива). Когда эта кнопка нажата, страница отправляется обратно, и пользовательский элемент управления динамически добавляется для сбора сведений о сотруднике (или активе).
Существует одна кнопка сохранения, которая сохраняет весь граф объектов в базе данных.
Это довольно сложно программировать и поддерживать, и я обычно сталкиваюсь с головной болью, связанной с управлением ViewState для динамических пользовательских элементов управления. Очевидно, что ViewState на странице также может стать довольно большим, что делает страницу довольно медленной.
Преимущество состоит в том, что это достаточно интуитивно понятный пользовательский интерфейс, который пользователь может понять, и пользователь может добавить все и проверить все перед сохранением чего-либо в базе данных.
Не могли бы вы предложить какие-либо другие шаблоны пользовательского интерфейса, которые вы могли бы использовать для этого, и какие-либо преимущества или недостатки?
Спасибо
David