部分视图刷新后的MVC actionlink类

时间:2018-04-11 08:21:00

标签: c# asp.net-mvc dialog

我有一个局部视图的视图。部分视图包含文件的附件(在ipagedlist中)。 ipagedlist的最后一列包含用于删除附件的actionlink。单击delete-actionlink后,将出现一个jquery确认对话框(使用actionlink的类)。当用户确认删除记录时,它将从数据库中删除。到目前为止,它的效果很好。删除记录后,将刷新附件列表(通过刷新部分视图)。 然后,当刷新视图并且用户想要通过按下另一个记录的删除链接来删除另一个记录时,该记录立即被删除。没有显示确认对话框。

在我看来,重新加载后,类不再用于删除链接。但我无法弄清楚如何使重新加载的模态窗口中的actionlinks也使用该类。

我对actionlink的代码(在partialview中)是:

@Html.ActionLink("Verwijderen", "_DeleteAttachment", "Attachment", new { attachmentId = @item.Id }, new { @class = "delete-link" })

确认对话框的代码:

<script>
    var deleteLinkObj;

    // delete Link
    $('.delete-link').click(function () {
        deleteLinkObj = $(this);  //for future use
        $('#delete-dialog').dialog('open');
        return false; // prevents the default behaviour
    });
</script>

<script>
    $('#delete-dialog').dialog({
        autoOpen: false, width: 400, resizable: false, modal: true, //Dialog options
        buttons: {
            "Continue": function () {
                $.post(deleteLinkObj[0].href, function (data) {  //Post to action
                    if (data == 'True') {
                        $("#eCommerceFileAttachmentsDiv").load('@Url.Action("_ExistingAttachments", "Attachment", new { eCommerceFileId = @Model.Id, readOnly = ViewBag.disableControls })'); //Hide Row
                        $('#delete-dialog').dialog('close');
                        //(optional) Display Confirmation
                    }
                    else {
                        alert("Refresh mislukt!");
                        $("#eCommerceFileAttachmentsDiv").load('@Url.Action("_ExistingAttachments", "Attachment", new { eCommerceFileId = @Model.Id, readOnly = ViewBag.disableControls })'); //Hide Row
                        //(optional) Display Error
                    }
                });
                //$(this).dialog("close");
                $('#delete-dialog').dialog('close');
            },
            "Cancel": function () {
                $('#delete-dialog').dialog('close');
            }
        }
    });
</script>

我希望有人可以帮我解决这个问题。

0 个答案:

没有答案