1
它看起來與其他問題類似,但他們遇到的所有問題都是命名HTML中的輸入類型名稱=「file」和控制器中的參數名稱不匹配。我多次檢查並重新檢查了很多事情,但HttpPostedFileBase的值始終返回爲null,這導致控制器中出現NullReferenceException。 下面是代碼: - HTML代碼: -爲什麼我的HttpPostedFileBase總是空?
@using (Html.BeginForm(new { enctype = "multipart/form-data" }))
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Please Fill in the following details and Upload your Design Pic</legend>
<div class="editor-label">
@Html.LabelFor(model => model.chest)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.chest)
@Html.ValidationMessageFor(model => model.chest)
</div>
<p>
<label for="file">Design File Pic:</label>
<input type="file" name="file" />
</p>
<p>
<input type="submit" value="Order" />
</p>
在控制器: -
[HttpPost]
[Authorize]
public ActionResult Index(DesignOrder order, HttpPostedFileBase file)
{
string fileurl=null;
if (file.ContentLength > 0) {
fileurl = Path.Combine("../../Images/UserUploads",User.Identity.Name + file.FileName);
file.SaveAs(fileurl);
}
}
錯誤進來行,如果(file.ContentLength> 0) - 的NullReferenceException。