0

私が構築している (実際には再構築している) 大規模な ASP.NET アプリケーションで MVP パターンの使用を開始したばかりで、ビューに適用されるイベントをどのように使用すべきかを理解するのに苦労しています。

ユーザー コントロールに 2 つのドロップダウン リストがあり、一方が他方の値に依存しているとします。

<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="ucTestMVP.ascx.vb" Inherits=".ucTestMVP" %>    
<asp:DropDownList ID="ddlCountry" runat="server" AutoPostBack="True" />
<asp:DropDownList ID="ddlCity" runat="server" />

インターフェイスで AutoPostBack イベントをどのように定義する必要がありますか? 次のようにユーザーコントロールによって処理されるイベントである必要があります。

Public Partial Class ucTestMVP
  Inherits System.Web.UI.UserControl
  Implements ITestMVPView

  Protected Sub PageLoad(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not Page.IsPostBack Then
      Dim presenter As New TestMVPPresenter(Me)
      presenter.InitView()
    End If
  End Sub

  Private Sub ddlCountrySelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlCountry.SelectedIndexChanged
    Dim presenter as New TestMVPPresenter(Me)
    presenter.CountryDDLIndexChanged()
  End Sub

End Class

または、インターフェイスでイベントを定義する必要がありますか? これが望ましいパターンである場合、処理および使用するイベントを追加するにはどうすればよいですか?

4

1 に答える 1

2

普遍的に好まれるパターンがあるかどうかはわかりません。私は、ビュー インターフェイスにイベントを追加し、プレゼンターがビューに応答することを好む傾向があります。このパターンについては、こちらで詳しく説明しています

于 2008-08-27T16:10:37.127 に答える