2011-04-19 36 views
4

我有一個視圖,我在其中添加產品到一個簡單的WebStore。我想用一種產品製作多個圖像。這就是爲什麼我使用Microsoft.Web.Helpers的FileUpload。在我看來,使用文件上傳的是這樣的:Asp.Net MVC Razor FileUpload Html Helper到現有的視圖

@FileUpload.GetHtml("Upload", 5, true, true, addText: "Add more", uploadText: "Upload files") 

然後我有其他的產品attributs一些標籤和字段是這樣的:

<div class="editor-field"><br> 
    @Html.EditorFor(model => model.Title)<br> 
    @Html.ValidationMessageFor(model => model.Title)<br> 
</div> 

的問題是,當我使用POST方法,我控制器沒有得到任何東西。我用這樣的控制器:

[HttpPost] 
public ActionResult Create(Product product, IEnumerable<HttpPostedFileBase> fileUpload) 
{ 
    foreach (var file in fileUpload) 
    { 
     var fileName = Path.GetFileName(file.FileName); 
    } 

    return RedirectToAction("Index"); 
} 

所以沒有人有任何想法我做錯了什麼。因爲我的FileUpload對象總是空的。

回答

14

很可能您的BeginForm缺少必填字段。它應該是這樣的:

using(Html.BeginForm("Index", "Home", FormMethod.Post, 
    new { enctype="multipart/form-data" })) { 

} 
0

我有這個問題,昨晚FileUpload控制和參數名稱應該是相同的

變化:

public ActionResult Create(Product product, IEnumerable<HttpPostedFileBase> **fileUpload**) 

public ActionResult Create(Product product, IEnumerable<HttpPostedFileBase> **upload**)