0
Он перенаправляет на всю новую страницу вместо того, чтобы просто обновлять текущий, у меня есть ненавязчивые скрипты и материал web.config. Почему это не работает?Ajax.Beginform освежает всю страницу
<div id="preview-image-placeholder"></div>
@foreach (var item in Model)
{
using (Ajax.BeginForm("PreviewImage/" + @item.Id.ToString(), "Music", null, new AjaxOptions { HttpMethod = "Post", InsertionMode = InsertionMode.Replace, UpdateTargetId = "preview-image-placeholder" },
new { @enctype = "multipart/form-data", @item.Id }))
{
@Html.AntiForgeryToken()
<input type="file" class="upload-image" id="[email protected]" name="file" accept="image/*">
<button class="btn btn-default" id="[email protected]" style="display: none" type="submit"></button>
}
}
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
Контроллер:
[ValidateAntiForgeryToken]
[HttpPost]
public PartialViewResult PreviewImage(HttpPostedFileBase file, int id)
{
//Do other code stuff
return PartialView("_DisplayImage", song);
}
_DisplayImage частичный вид:
@model IEnumerable<MusicSite.Models.UploadedSong>
@using MusicSite.CustomHtmlHelpers;
@foreach(var item in Model)
{
if (@item.CoverImageBytes != null)
{
@Html.ImageFor(x => item.CoverImageBytes, @item.SongName + " Image", new { @id = "preview-image" })
}
}