2010-11-18 30 views
2

私は、子モデルのコレクションを含むMVCモデルのための強く型付けされた編集フォーム(Documentには多くのLocalizedDocumentsが含まれています)に取り組んでいます。各ドキュメントには、0,1、または多くのローカライズされたドキュメントを含めることができ、すべてのローカライズされたドキュメントには、ユーザーがファイルの新しいバージョンをアップロードできるように、入力タイプ= "file"があります。ASP.NET MVC複数のファイルのアップロード

各LocalizedDocumentの編集フィールドをレンダリングするには、LocalizedDocumentのフィールドを含む強く型付けされた部分ビューがあり、次に編集ビューではHtml.EditorFor(model => model.Document.LocalizedDocuments)を使用します。

フォームが投稿されると、各LocalizedDocumentフィールドには、LocalizedDocument [i]のプレフィックスが付けられます。しかし、ファイルの入力にもLocalizedDocument [i]という接頭辞が付くように、どうすればファイルのアップロードを適切なLocalizedDocumentに関連付けることができますか?

答えて

0

この質問を間違って解釈している場合は教えてください。親テーブルにアップロードする必要があるドキュメントがあるか、複数のドキュメントをアップロードした後にこれらのドキュメントに特定のIDを割り当てる必要がありますか?

私はUploadifyを使用します。

LocalizedDocumentのIDを知る必要があります。一度に1つしかアップロードすることもできません。

まず、LocalizedDocumentのIdをサーバーに送信するデータに割り当てる必要があります。

<script type="text/javascript"> 
var auth = "<%: Request.Cookies[FormsAuthentication.FormsCookieName]==null ? string.Empty : Request.Cookies[FormsAuthentication.FormsCookieName].Value %>"; 
var ASPSESSID = "<%: Session.SessionID %>"; 

$(document).ready(function() { 
    $('#file_upload').uploadify({ 
     'uploader': '/Content/uploadify.swf', 
     'script': '<%: Url.Action("Upload", "Documents") %>', 
     'cancelImg': '/Content/Images/cancel.png', 
     'folder': '/uploads', 
     'scriptData': { ASPSESSID: ASPSESSID, AUTHID: auth, DocumentId: <%: Model.LocalizedDocumentId %>}, 
     'auto':true, 
     'multi': true 
    }); 
}); 
</script> 

コントローラー:

public ActionResult InsertImages(HttpPostedFileBase FileData, int DocId){ } 
関連する問題