2009-06-02 6 views
0

参加者はここに適用されますか?もしそうなら、どうですか?私がこの分野に慣れていないので、コード例。アプリケーション設計、分離されたロジック、デリゲートなし

ロジック分離が私が実装しようとしていることであり、以下の私の仕事は完璧な候補になると思います。私はオブジェクトがかなり独立していて、互いにハードに配線されていないはずであることを読んだ。

ASPX(ページ)

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

ASPX.cs(分離コード)

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

ASCX(ユーザーコントロール)

<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(分離コード)

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

上記タスクは、ファイルのアップロード・モジュールです。アップロードを行うコントロールは、ASPXページにドラッグされたUserControlにあります。

[ASPX]ページの[送信]ボタンをクリックすると、ファイルのアップロード処理が開始されます。 これは、ページが他の情報をデータベースに保存し、ファイルをアップロードする、かなり一般的なシナリオである必要があります。

過去の経験から私の本能は、Publicコントロールを介してUserControlのUploadコントロールを公開することでした。 これは、Attachment UserControlをページに結びつけます。

どうすればこれを解くことができますか?おそらく代表者の使用ですか?

答えて

0

アタッチメントコントロールについて、どのような情報が必要ですか?アタッチメントコントロールは、それを含むビューについて何を知る必要がありますか?

delegate(Stream uploadContent)はこれをもっと遠くに分けることができると思いますが、System.Web.Pageモデルを使用している場合は...遠くにあるものを切り離す動機付けです。

ビューがコールバックを受け入れると、アプリケーションに適切な依存関係が反転しますか?

関連する問題