How to create MVC 4 @Html.TextBox type=“file”?

后端 未结 7 2140
萌比男神i
萌比男神i 2021-02-20 14:57

I need to add the following field at my form


I create model and describe this field (the las

7条回答
  •  悲&欢浪女
    2021-02-20 15:21

    Model

    public class FeedbackForm
    {
        public string Name { get; set; }
        public string Email { get; set; }
        public string Phone { get; set; }
        public string Company { get; set; }
        public string AdditionalInformation { get; set; }
        public HttpPostedFileBase ProjectInformation { get; set; }
    }
    

    View

    @model FeedbackForm
    
    @Html.TextBox("Name")
    @Html.TextBox("Email")
    ...
    @Html.TextBox("ProjectInformation", null, new { type="file", @class="input-file" })
    
    // submit button
    

    My recommended view (strongly - typed)

    @model FeedbackForm
    
    @Html.TextBoxFor(model=>model.Name)
    @Html.TextBoxFor(model=>model.Email)
    ...
    @Html.TextBoxFor(model=>model.ProjectInformation, null, new { type="file", @class="input-file" })
    
    // submit button
    

    Controller

    [HttpPost]
    public ActionResult FeedbackForm(FeedbackForm model)
    {
        // this is your uploaded file
        var file = model.ProjectInformation;
        ...
    
        return View();
    }
    

    MVC is using name convention, so if your textbox and model names match, then MVC will bind your inputs to your model.

提交回复
热议问题