2011-11-07 13 views
3

私は自分のコードでRequest.Formへの参照を削除しましたが、Request.FilesをビューモデルにバインドするためのASP.NET MVC 3のサポートはありませんでした。私の添付ファイルを処理するメソッドにRequest.Filesオブジェクト(HttpFileCollectionBase)を渡すのがベストプラクティスですか?例えば、Post(ASP.NET MVC 3)のビューモデルでRequest.Filesを返す方法はありますか?

[HttpPost] 
public ActionResult UpdateStatus(StatusViewModel vm) 
{ 
    bool updated = HandleUpdate(Request.Files, vm); 
    ... 
    return View("Updated"); 
} 

答えて

2

あなたは、単にそのようなタイプのHttpPostedFileBaseのアクションパラメータを宣言することができます。あなたにも、同じ名前のインスタンスの配列に特異的に結合することができます

public ActionResult Method(HttpPostedFileBase fileUploaded) 

public ActionResult Method(HttpPostedFileBase[] filesUploaded) 

HttpPostedFileBaseは、ビューモデルのメンバーになることができます。

+0

私はビューモデルにHttpPostedFileBaseを追加しようとしましたが、私はそれをRequestオブジェクトのファイルに結び付けているグルーが見つからないようです。 (Request.Filesには内容がありません) – Daniel

+0

他のフォームフィールドと同じように、フィールド名に合わせてフィールドの名前を正しく設定する必要があります。 –

関連する問題