2011-12-09 8 views

答えて

2

あなただけの追加パラメータとして渡す

HTML:

<form action="" method="post" enctype="multipart/form-data"> 
    <input type='text' id='txtId' name='id'/> 
    <input type="file" name="file" id="file" /> 

    <input type="submit" /> 
</form> 

コントローラー:

[HttpPost] 
public ActionResult Upload(HttpPostedFileBase file, string id) { 

    if (file.ContentLength > 0) { 
    var fileName = Path.GetFileName(file.FileName); 
    var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName); 
    file.SaveAs(path); 
    } 

    return RedirectToAction("Index"); 

}

+0

おかげRyand、idパラメータが最初に到着から私はそれをViewDataディクショナリに渡し、それをビューの隠しフィールドとしてレンダリングする必要がありますか? –

+0

あなたはcontroller/action/idのデフォルトルートを使用していますか?クエリ文字列の代わりに、ルートのid部分として渡すことができます。あなたのgetは "public ActionResult Upload(string id)"、 "httppost"は "public actionresult(httppostedfilebase file、string id)"になります。 –