1

やあ、

私のモデル(部分)

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

私の行動

   [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();
    }

ファイルアップローダ

<% 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"/>
        <% } %>

私が抱えている問題は、AddDocument ボタンが押されたときに、空のモデルがコントローラーのアクションに渡されることです。また、HttpPostedFileBase の基本プロパティは System.NotImplementException を返します。

モデルをアクションに正しく渡すために何をする必要があるか教えてもらえますか?

4

1 に答える 1

3

これは、HttpPostedFileBase とモデル バインディングの問題です。パラメーターが Model の場合の ASP.NET MVC ポスト ファイル モデル バインディングを参照してください。

于 2010-09-03T23:48:16.600 に答える