Каков наилучший способ получения ряда значений свойств бизнес-объекта из представления в докладчик на странице 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 вызывает событие кнопки Submit, я устанавливаю эти свойства в значения элементов управления в коде позади. Затем поднять событие, чтобы докладчик ответил на него. Презентатор перезагружает объект Quote из базы данных, устанавливает все свойства и сохраняет его в базе данных.
Это правильный способ сделать это? Если нет, то что?