我正在嘗試使用Ajax窗體保存圖像。但無法在我的操作中獲取上傳的圖像。 這是我的索引頁,在這個頁面中我正在爲添加項加載partialview。 我Index.Cshtml在MVC中使用Ajax.BeginForm保存圖像4
@Html.Action("_AddOrUpdateItem","Admin")
我的動作代碼
public PartialViewResult _AddOrUpdateItem(int? itemId)
{
//Some Code Here
return PartialView("_AddItem", item);
}
[HttpPost]
public PartialViewResult AddOrUpdateItem(ToolItem toolItem, HttpPostedFileBase toolItemImage)
{
////Some Code Here
return PartialView("_AddItem", toolItem);
}
}
和我的AJAX形式爲遵循
@using (Ajax.BeginForm("AddOrUpdateItem", "Admin", new AjaxOptions() { HttpMethod = "POST" }, new { enctype = "multipart/form-data" }))
{
// Some more text boxes here
<input type="file" id="ToolItemImage" name="toolItemImage" />
<input type="submit" value="Save" />
}
我有一個鏈接,這同類型的問題,但在我的它不起作用
什麼不起作用?如果調試'[HttpPost] AddOrUpdateItem()'方法,它是否會觸發您的操作? – scheien 2015-02-08 19:06:21
是的,它正在隱藏我的動作,但是我的toolItemImage爲null。 – 2015-02-08 19:08:06
您是否使用與您鏈接的問題相同的JavaScript代碼?當涉及到文件時,看起來像'Ajax.BeginForm'很多類似的問題,並且js是魔術棒。任何不使用'Html.BeginForm'的原因,並用你自己的js覆蓋提交? IIRC你也應該把它看作是一個集合,而不是一個單獨的文件,就像在你連接的答案中一樣。 – scheien 2015-02-08 19:20:54