2008-08-27 3 views
0

방금 ​​빌드 한 대규모 ASP.NET 응용 프로그램에서 MVP 패턴을 사용하기 시작했습니다. 실제로 다시 빌드하는 데 어려움을 겪고 있습니다. 보기에 적용된 이벤트를 사용해야합니다. 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 

또는 인터페이스에 이벤트가 정의되어 있어야합니까? 이것이 선호되는 패턴이라면, 처리되고 사용될 이벤트를 어떻게 추가합니까?

답변

2

보편적으로 선호되는 패턴이 있는지 나는 알 수 없습니다. 나는보기 인터페이스에 이벤트를 추가하고 발표자가보기에 응답하게하는 경향이 있습니다. 나는이 패턴을 more detail here에 기술했다.

관련 문제