2011-01-11 84 views
3

嘿... 我對我的視圖有上傳控制。有沒有辦法將這個控件與模型數據相關聯(比如LabelFor或者TextBoxFor)。我需要這個,因爲在頁面加載我丟失我的信息在文件上傳控制 ThxMVC - 文件上傳

回答

0

是的,使用HttpPostedFileBase類的屬性類型,它將綁定就像任何其他屬性會。

+0

我仍然有同樣的問題,在uploadfile值時,頁面重新加載 – Cipiripi 2011-01-11 14:56:42

8

HTML文件上傳ASP MVC 3

型號:(注意FileExtensionsAttribute是MvcFutures可用它會驗證文件擴展名的客戶端和服務器端。)

public class ViewModel 
{ 
    [Required, Microsoft.Web.Mvc.FileExtensions(Extensions = "csv", ErrorMessage = "Specify a CSV file. (Comma-separated values)")] 
    public HttpPostedFileBase File { get; set; } 
} 

HTML查看

@using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { enctype = "multipart/form-data" })) 
{ 
    @Html.TextBoxFor(m => m.File, new { type = "file" }) 
    @Html.ValidationMessageFor(m => m.File) 
} 

控制器動作

[HttpPost] 
public ActionResult Action(ViewModel model) 
{ 
    if (ModelState.IsValid) 
    { 
     // Use your file here 
     using (MemoryStream memoryStream = new MemoryStream()) 
     { 
      model.File.InputStream.CopyTo(memoryStream); 
     } 
    } 
}