Как лучше всего получить несколько значений свойств бизнес-объекта из представления в презентаторе на странице WebFormsMvp?
Принимая во внимание эту проблему с Источники данных.
Вот что я предлагаю:
Сценарий таков: у меня есть бизнес-объект под названием Quote, который я хотел бы загрузить из базы данных, отредактировать и затем сохранить. У класса Quote есть куча свойств. Форма касается примерно 20 из этих свойств. У меня есть существующие методы для загрузки / сохранения объекта Quote в / из базы данных. Теперь мне нужно соединить все это вместе.
Итак, в обработчике View_Load на моем презентаторе я собираюсь сделать что-то вроде этого:
public void View_Load(object sender, EventArgs e)
{
View.Model.Quote = quoteService.Read(quoteId);
}
А затем свяжите все мои элементы управления следующим образом:
<asp:TextBox ID="TotalPriceTextBox" runat="server"
Text="<%# Model.Quote.TotalPrice %>" />
Все хорошо, данные на экране.
Затем пользователь вносит кучу изменений и нажимает кнопку «Отправить». Вот где я не уверен.
Я создаю класс QuoteEventArgs, отображающий 20 свойств, которые форма может редактировать. Когда View вызывает событие кнопки «Отправить», я устанавливаю для этих свойств значения элементов управления в коде позади. Затем поднимите событие, на которое докладчик должен ответить. Ведущий повторно загружает объект Quote из базы данных, устанавливает все свойства и сохраняет его в базе данных.
Это правильный способ сделать это? Если нет, то что?