C# Mvc使用ajax删除对象
我有一个对象列表表视图。当我按Delete键时,我想要一个确认弹出窗口borwser的默认弹出窗口可以显示消息,你确定吗?确认只会从db和视图中的表中删除对象,而不会再次刷新页面 在表中,我有以下代码:C# Mvc使用ajax删除对象,c#,asp.net-mvc,asp.net-ajax,C#,Asp.net Mvc,Asp.net Ajax,我有一个对象列表表视图。当我按Delete键时,我想要一个确认弹出窗口borwser的默认弹出窗口可以显示消息,你确定吗?确认只会从db和视图中的表中删除对象,而不会再次刷新页面 在表中,我有以下代码: @Ajax.ActionLink("Delete", "Delete", new { id = item.LicenseID }, new AjaxOptions { HttpMethod = "POST", OnSuccess = "onDeleteSuccess" },
@Ajax.ActionLink("Delete", "Delete", new { id = item.LicenseID },
new AjaxOptions { HttpMethod = "POST", OnSuccess = "onDeleteSuccess" },
new { @class = "href", id = "delete",
onclick = "return confirm('Are you sure you want to delete this?');" })
我在控制器中的删除操作如下。连同一个完全空的删除视图:
public ActionResult Delete(int id = 0)
{
License license = unit.LicenseRepository.GetObjectById(id);
if (license == null)
{
return HttpNotFound();
}
unit.LicenseRepository.DeleteObject(license);
unit.Save();
return View(license);
}
我没有什么问题。有时,当我按Delete键时,对象被成功删除
有时,页面会重定向到空的“删除视图”页面。如果我要删除视图页面,我会收到错误消息:未找到视图“删除”或其主视图,或者没有视图引擎支持搜索的位置。
有时我会收到HTTP错误404.0-找不到的页面
在这两种情况下,当我再次返回表时,我看到该对象已成功删除。
那么,为什么我要得到那两页?有什么问题吗?AjaxOptions已经有了要确认的属性,请重试
@Ajax.ActionLink("Delete", "Delete", new { id = item.LicenseID },
new AjaxOptions {
HttpMethod = "POST",
OnSuccess = "onDeleteSuccess",
Confirm = "Are you sure you want to delete this?"
},
new { @class = "href", id = "delete"})
onDeleteSuccess做了什么?现在它只是删除了对象,之前没有弹出消息来确认。看看这里,好吧,所以我添加了对unobtrusive ajax的引用,现在它很好,但是删除对象后,我需要手动刷新页面以查看更改,如何在不刷新页面的情况下从表中删除?通过具体选择器查找行,然后使用删除功能。在此之前,您应该在生成时将选择器类设置为rowsdtable@user2254436您可以在成功事件中删除tr,也可以将整个表放在PartialView中,并在delete方法中返回更新版本。。。你应该找到很多这样的例子