C# Mvc使用ajax删除对象

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" },

我有一个对象列表表视图。当我按Delete键时,我想要一个确认弹出窗口borwser的默认弹出窗口可以显示消息,你确定吗?确认只会从db和视图中的表中删除对象,而不会再次刷新页面

在表中,我有以下代码:

@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方法中返回更新版本。。。你应该找到很多这样的例子