在使用 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>
实施没有?