0
我想在不刷新所有頁面的情況下上傳文件。我知道上傳不支持經典的Ajax表單。訣竅是使用一個經典的形式並對其進行渲染。如果ajaxform成功或失敗,顯示一條消息
這是我的觀點:
@model .....
@using (Html.BeginForm("UploadImage", "Admin", FormMethod.Post, new { enctype = "multipart/form-data", id = "uploadform" }))
{
<div class="editor-label"> @Html.LabelFor(model => model.Image) </div>
<div class="editor-field"> <input type="file" name="file" id="file" /> </div>
<button type="submit">
<span>Upload</span>
</button>
}
這裏是我的javascript:
$(document).ready(function() {
$('#uploadform').ajaxForm(function() {
alert("Thank you for your comment!");
});
});
這裏是我的控制器:
[HttpPost]
public ActionResult UploadImage(HttpPostedFileBase file)
{
// Add code here...
return RedirectToAction("EditProject");
}
當我提交一份文件,在行動控制器接收信息。但是接下來什麼都沒發生。信息'謝謝你的評論!'從不顯示。 如果上傳成功失敗,我想顯示一條消息。
謝謝。
我們總是不得不返回一個帶有ajax形式的Json對象嗎?事實上,RedirectToAction(「EditProject」)是相同的頁面。 – Bronzato
不應該只是引用頁面,而不是:return View(); – Abbas
如何在視圖中提醒返回的消息?我嘗試$('#uploadform')。ajaxForm(function(message){alert(message);});這不起作用。 – Bronzato