views:

33

answers:

1

HI there,

My model (partial)

    public class Document : HttpPostedFileBase
    {
        public string DocumentTitle { get; set; }
        public string DocumentType { get; set; }

My action

   [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult AddDocumentToVault(Document model)
    {
        foreach (string upload in Request.Files)
        {
            if (!Request.Files[upload].HasFile()) continue;
            _documentAggregator.Add(model);
            _documentAggregator.Commit();
        }
            return PSDocumentVaultPartial();
    }

File uploader

<% using (Html.BeginForm("AddDocumentToVault", "PersonalSpace", FormMethod.Post, new { enctype = "multipart/form-data" }))
               {%>
                <input type="file" id="Document" runat="server" name="Document"/>
                <input id="AddDocument" type="submit" value="Upload" style="display:none"/>
        <% } %>

The problem I am having is that when the AddDocument button is pressed it's passing an empty model to the action in my controller. And the base properties in HttpPostedFileBase give a System.NotImplementException.

Can anyone tell me what I need to do to correctly pass my model to my action?

A: 

It's an issue with HttpPostedFileBase and model binding. See ASP.NET MVC posted file model binding when parameter is Model

Todd Smith