将Bootstrap Modal窗口用作PartialView不会显示在屏幕上,但会出现在Chrome开发者工具中

时间:2019-06-07 19:59:22

标签: asp.net .net bootstrap-modal

最奇怪的事情发生在我身上。所以我有一个父页面,它基本上是一个列表。在每个项目上,我都有一个删除按钮,该按钮将触发部分视图中的模态弹出,以确认用户是否要删除它。如标题所示,它不会弹出,但是当我使用Google Chrome开发人员工具时,我可以看到该模式实际上已经弹出,但是没有显示在屏幕上。

这是我在父页面上的模式

<div class="modal fade" id="delete-modal">
    <div class="modal-dialog">
        <div class="modal-content" id="delete-association">
            @Html.Partial("_DeleteAssociationModal")
        </div>
    </div>
</div>

我有一个小的javascript方法,只需单击删除按钮即可触发来调用我的控制器,并将其返回给我部分模式

function OpenModal(associationId) {
    $.ajax({
        type: "GET",
        data: { id: associationId },
        url: '@Url.Action("GetDeleteModal", "Associations")',
        success: function(data) {
            $('#delete-association').html(data);
            $('#delete-modal').modal('show');
        },
    })
};

这是在我的控制器中调用的方法,该方法返回部分信息:

public ActionResult GetDeleteModal(int id)
    {
        var association = // getting the info for the object to be deleted

        return PartialView("_DeleteAssociationModal", association);
    }

这太奇怪了。正如我说的,我可以在Chrome工具中看到模态,但是它不会弹出...

我们将不胜感激!

谢谢

1 个答案:

答案 0 :(得分:0)

调用我的方法的按钮实际上是一个锚标记。我将其更改为按钮并添加了:

data-toggle="modal" data-target="#delete-modal"

使用它的属性,效果很好!

信贷转到@Bosco