Я обновил запись базы данных в моем действии редактирования и вернул обновленный путь изображения как json.ViewBag.courses и viewBag. /> Только последний отредактированный курс показывает обновленные значения после обновления; Другие курсы продолжают показывать старые значения. < /p>
@foreach (var element in ViewBag.courses as List)
{
var img = (ViewBag.courseImgTexts as Dictionary)[element.pkID];
@Html.AntiForgeryToken()
عنوان عکس
متن جایگزین
ذخیره
}
< /code>
$(".editimgclass").submit(function (e) {
var img = $(this).children("img");
e.preventDefault();
var formData = new FormData($(this)[0]);
$.ajax({
url: "/admin/editimg",
type: 'POST',
data: formData,
contentType: false,
processData: false,
})
.done(function (res) {
if (res.status) {
swal("عملیات موفق", res.m, "success");
console.log(res)
$(img).attr("src", `/assets/img/pictur/${res.reff}`)
} else {
swal("عملیات ناموفق", res.m, "error");
}
})
.fail(function () {
swal("خطا در برقراری ارتباط با سرور", "error")
})
.always(function () {
});
})
< /code>
public ActionResult editimg(int cid, int pid, string imgtitle, string imgalt, HttpPostedFileBase imgsrc)
{
string fileName = "";
if (validation())
{
try
{
var img = context.tbl_img
.Where(x => x.pkID == pid) //
.FirstOrDefault();
if (img == null)
{
return Json(new { status = false, m = "عکس پیدا نشد" }, JsonRequestBehavior.AllowGet);
}
if (imgsrc != null)
{
if (imgsrc.ContentLength >= 10240 && imgsrc.ContentLength x.pkID)
.ToList();
var courseImgTexts = new Dictionary();
foreach (var c in courseList)
{
var ci = context.tbl_img.FirstOrDefault(x => x.pkID == c.img);
courseImgTexts[c.pkID] = ci ?? new tbl_img
{
Address = "def.jpg",
title = "",
alt = ""
};
}
ViewBag.courses = courseList;
ViewBag.courseImgTexts = courseImgTexts;
return Json(new { status = true, m = "ویرایش انجام شد", reff = img.Address }, JsonRequestBehavior.AllowGet);
}
catch (Exception e)
{
return Json(new { status = false, m = e.Message }, JsonRequestBehavior.AllowGet);
}
}
else
{
return Json(new { status = false, m = "شما مجاز به انجام این عملیات نیستید" }, JsonRequestBehavior.AllowGet);
}
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... refresh-in
Мобильная версия