WebFormsMvp ページでビューからプレゼンターにビジネス オブジェクトの多数のプロパティ値を取得する最良の方法は何ですか?
DataSources に関するこの問題に留意してください。
これが私が提案するものです:
シナリオは、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 %>" />
大丈夫です。データが画面に表示されています。
次に、ユーザーは一連の変更を行い、[送信] ボタンをクリックします。ここがよくわからないところです。
フォームが編集できる 20 個のプロパティを公開する QuoteEventArgs というクラスを作成します。ビューが [送信] ボタンのイベントを発生させると、コード ビハインドでこれらのプロパティをコントロールの値に設定します。次に、プレゼンターが応答するイベントを発生させます。プレゼンターは Quote オブジェクトをデータベースから再読み込みし、すべてのプロパティを設定してデータベースに保存します。
これはこれを行う正しい方法ですか?そうでない場合、何ですか?