1

在使用 ASP.NET MVC 4 创建文件上传功能时,我遇到了一个问题,即我的操作中 POSTed 文件为空

Razor(导致运行中的空文件变量)

@using (Html.BeginForm("Upload", "Trip", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    <input type="file" name="file" id="file" />
    <button type="submit">Upload</button>

    @Html.ValidationSummary(true);
}

剃须刀(工作正常)

@using (Html.BeginForm("Upload", "Trip", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    <input type="file" name="file" id="file" />
    <input type="submit" value="upload" />

    @Html.ValidationSummary(true);
}

行动

public ActionResult Upload(HttpPostedFileBase file)
{
         //The action executes but file is null when using <button>
}

我已经阅读了Phill Haack 经常引用的文章,我们实现之间的唯一区别是他使用了一个<input type="submit" />元素 where as I use <button type="submit">。据我了解,这两个 HTML 元素都将以相同的方式发布。我正在使用 a<button>将 CSS 样式应用于按钮。

任何想法为什么<input>发布文件很好但<button>实施没有?

4

0 回答 0