我正在使用BeginCollectionItem将项目(在本例中为 Comments)动态添加到列表中。在尝试“删除”一个项目时,我遇到了一个问题。我可以使用以下代码使用 jQuery 从 UI 中删除“现有”项目,而不会出现问题:
var container = $(this).closest('.editorRow');
var id = container.data('id');
if (!id) {
$(this).parents("div.editorRow:first").remove();
e.preventDefault();
e.stopImmediatePropagation();
return false;
}
但是该代码不会删除刚刚添加到视图中且尚未保存到数据库中的项目。
另一个问题是,在从数据库中删除之前,我不想将其从 UI 中删除。我尝试在 ajax 调用的成功函数中使用相同的代码,但现在它不会从 UI 中删除 div。ajax 调用有效,但是当它是删除行时,它不会更新 UI。
else {
$.ajax({
type: "POST",
url: "@Url.Action("Delete","Request", new { area = "" })",
data: { CommentId: id },
success: function () {
$(this).parents("div.editorRow:first").remove();
}
})
}
更新
将 ajax 部分更改为此允许删除 UI 中的 div,但现在在简要向我显示它删除了 div 后,它会将我重定向到我的应用程序的登录页面。
else {
$.ajax({
type: "POST",
url: "@Url.Action("Delete","Request", new { area = "" })",
data: { CommentId: id },
success: function (e) {
$t.parents("div.editorRow:first").remove();
e.preventDefault();
e.stopImmediatePropagation();
return false;
}
})
}