У меня есть метод, который использует форму jquery для загрузки файла - после загрузки я хотел обновить слой. Вот мой код ...
Проблема в том, что метод является JsonResult, и я не могу понять, как вызвать обновление другой части страницы после ее запуска. Есть предложения?
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<script type="text/javascript">
$(function() {
$("#ajaxUploadForm").ajaxForm({
iframe: true,
dataType: "json",
beforeSubmit: function() {
$("#ajaxUploadForm").block({ message: '<img src="<%= ResolveUrl("~/content/images/busy.gif") %>" /> Uploading file...' });
},
success: function(result) {
$("#ajaxUploadForm").unblock();
$("#ajaxUploadForm").resetForm();
//$.growlUI(null, result.message);
},
error: function(xhr, textStatus, errorThrown) {
$("#ajaxUploadForm").unblock();
$("#ajaxUploadForm").resetForm();
$.growlUI(null, 'Error uploading file');
}
});
});
</script>
<form id="ajaxUploadForm" action="<%= Url.Action("Upload", "Pictures")%>" method="post" enctype="multipart/form-data">
<div>
<input type="file" name="file" />
</div>
<input id="ajaxUploadButton" type="submit" value="Submit" />
</form>
public FileUploadJsonResult Upload(HttpPostedFileBase file)
{
var fileName = System.IO.Path.Combine(Request.MapPath("~/Uploads"),
System.IO.Path.GetFileName(file.FileName));
file.SaveAs(fileName);
Test();
// Return JSON
return new FileUploadJsonResult { Data = new { message = string.Format("{0} uploaded successfully.", System.IO.Path.GetFileName(file.FileName)) } };
}