PDA

View Full Version : سوال: آپدیت کردن partialview توسط خودش



morika
سه شنبه 07 مرداد 1393, 20:44 عصر
سلام
من یه PartialView دارم که توش یه Table هست. این Table حاوی یه دکمه برای Delete کردن اطلاعات هست
حالا چوری مبشه کاری کرد بعداز Delete کردن این PartialView به صورت Ajax بروز بشه.
موقع اظافه کردن رکورد از خارج از PartialView به خوبی با Ajax کار میکنه و Update میشه ولی هرکاری می کنم وقتی دستور از تو خود Partial هست کل صفحه رو Refresh می کنه
ممنون

minaforotan
سه شنبه 07 مرداد 1393, 20:54 عصر
باید از json استفاده کنید

morika
سه شنبه 07 مرداد 1393, 23:11 عصر
هرچی فکر کردم نفهمیدم چجوری این کارو بکنم. میشه یکم دیگه توضیح بدین؟

morika
چهارشنبه 08 مرداد 1393, 16:43 عصر
کدی که برای این کار نوشتم اینجوریه:
public ActionResult DeleteCategory(int id) {
var categoryModel = db.Categories.Find(id);


if (categoryModel != null)
{
db.Categories.Remove(categoryModel);
db.SaveChanges();
if (Request.IsAjaxRequest())
{
return PartialView("_Categories", db.Categories.ToList());
}


return RedirectToAction("Categories");
}


return RedirectToAction("E404", new { backUrl = "Categories" });
}
و تو خود Partial View هم اینجوری ازش استفاده می کنم:
@Ajax.ActionLink("Delete", "DeleteCategory", "Dashboard", new { id = item.Id }, new AjaxOptions { HttpMethod = "Post", InsertionMode = InsertionMode.Replace})
اما کار رو به صورت ajax انجام میده. در ضمن یه مشکل دیگه ای هم داره و من سر در نمیارم تو متد DeleteCategory وقتی روی If اول یه Break Point میزارم و خط به خط اجرا می کنم، کد اینجوری اجار میشه که وقتی به db.SaveChanges() میرسه باز برمی گرده به همون If اول و دوباره شروع می کنه از اول میاد پایین آخرش هم error میده که داده قبلا پاک شده. ولی وقتی break pint نمیزارم بدون مشکل کار میکنه ولی باز هم صفحه کاملا رفرش میشه و تو یه صفخه جدید Partial View رو لود میکنه. کلا معلوم نیست چیکار داره میکنه!!!!