文件上传无法按预期工作

时间:2014-12-05 13:18:33

标签: asp.net-mvc razor

我正在尝试从我的应用程序上传文件,但它无法正常工作。我没有在动作方法中获得任何文件。

我的viewmodel如下所示

public class CallQueryViewModel
{
        [Display(Name = "Attachment")]        
        public HttpPostedFileBase UploadFile { get; set; }
}

我的剃刀形式如下

@{
    var ajaxOptions = new AjaxOptions
    {
        HttpMethod = "POST",
        OnBegin = "onCallAddBegin",
        OnSuccess = "OnCallCreateSuccess",
        OnFailure = "OnCallCreateFailure"
    };
}

@using (Ajax.BeginForm("AddCall", "CallHandling", ajaxOptions, new { @id = "CallAddForm", enctype = "multipart/form-data" }))
{
    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true)

    <div class="row">
       <div class="col-md-6">
        <div class="form-group">
            @Html.LabelFor(model => model.UploadFile, new { @class = "col-md-2" })
            @Html.TextBoxFor(model => model.UploadFile, new { @class = "col-md-10", type="file" })
        </div>
      </div>
    </div>

    <div id="Submit">
            <input type="submit" value="Save" class="btn btn-success" />
    </div>
}

我的控制器动作方法如下。

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult AddCall(CallQueryViewModel model)
    {
        if ((model.UploadFile != null) && (model.UploadFile.ContentLength > 0))
        {
            // Upload file.
        }
    }

使用上面的代码,当我尝试上传文件时,我没有收到控制器操作方法中的任何文件。 UploadFile始终为空。

有人可以建议我缺少什么吗?

0 个答案:

没有答案
相关问题