2009-06-02 4 views
0

대표자는 여기에 적용됩니까? 그렇다면 어떻게? 내가이 분야를 처음 접했을 때의 코드 예제.응용 프로그램 설계, 분리 된 논리, 대의원 또는 없음

논리 분리가 구현하려는 의도이며 아래의 제 작업이 완벽한 후보가 될 것이라고 생각합니다. 나는 객체가 상당히 독립적이어야하고 서로에게 유선이 아닌 것을 읽었다.

ASPX (페이지)

<uc1:Attachment ID="Attachment1" runat="server" /> 
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /> 

ASPX.cs (Codebehind가)

protected void Button1_Click(object sender, EventArgs e) 
{ 
    // Check the files and upload 
} 

ASCX (UserControl을)

<MyControl:Upload ID="Upload1" runat="server" 
AllowedFileExtensions=".zip,.jpg,.jpeg,.doc,.gif,.png,.txt" 
    MaxFileInputsCount="3" 
    OverwriteExistingFiles="false" 
onfileexists="Upload1_FileExists" 
onvalidatingfile="Upload1_ValidatingFile" /> 

ASCX.CS (Codebehind가)

public Upload AttachmentControl 
{ 
    get { return this.Upload1; } 
} 

위의 작업은 파일 업로드 모듈입니다. 업로드를 수행하는 컨트롤은 ASPX 페이지로 드래그 된 UserControl에 있습니다.

ASPX 페이지의 제출 단추는 파일 업로드 프로세스를 시작해야합니다. 이것은 페이지가 데이터베이스에 다른 정보를 저장하고 파일을 업로드하는 경우가 매우 일반적인 시나리오 여야합니다.

내 경험에 비추어 볼 때, Public 속성을 통해 UserControl의 Upload 컨트롤이 노출 된 것입니다. 이렇게하면 첨부 파일 UserControl이 페이지에 연결됩니다.

어떻게하면이 기능을 해제 할 수 있습니까? 대리인을 사용할 수 있습니까?

답변

0

첨부 파일 컨트롤에 대한보기에 필요한 정보는 무엇입니까? 첨부 파일 컨트롤에 포함 된보기에 대해 알아야 할 것은 무엇입니까?

delegate(Stream uploadContent)으로 가정하면이 부분을 더 멀리 분해 할 수 있지만 System.Web.Page 모델을 사용하면 훨씬 부족한 부분을 분리 할 수 ​​있습니다.

콜백을 수락하면 응용 프로그램에서 적절한 종속 경로가 변환됩니다. 그렇습니까?