【问题标题】:Load partial view as modal on button click在按钮单击时将部分视图加载为模态
【发布时间】:2019-12-01 14:14:31
【问题描述】:

所以我尝试在单击按钮后加载来自控制器的部分视图,其中包含引导模式。

我不确定问题出在哪里,但是当我第一次单击按钮时,添加了 DOM,但没有显示模态。我第二次单击时,模态显示为

我的按钮

"<button class='btn btn-info edit-category' onclick='showModal()' data-category-id='" + full.id + "'>Edit</button>"

我的showModal-函数:

function showModal(){
    $("#div1").load("/Category/EditCategory");
    $("#createCategory").modal();
}

我的部分视图操作:

public ActionResult EditCategory()
{
    return PartialView("Admin/_CategoryAdd", new CategoryDetailModel{Title = "Test"});
}

我的 PartialView “_CategoryAdd”的一部分:

@model CategoryDetailModel

<div class="modal" id="createCategory" tabindex="-1" role="dialog">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">Modal title</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>

            <form asp-action="Create" asp-controller="Category"
                  data-ajax="true"
                  data-ajax-method="POST"
                  data-ajax-mode="replace"
                  data-ajax-failure="failed"
                  data-ajax-success="success">

有趣的是,当我不单击按钮并在浏览器控制台中输入两行时,它按预期工作。 当我在控制台执行该方法时,与单击按钮相同。

我也想,也许是时间问题,所以我用 5000 毫秒添加了setTimeout,但没有奏效。 有什么想法吗?

【问题讨论】:

  • @freedomn-m 它说,done 不是一个函数:D #div1 在 main-html 中,在按钮下面几行。

标签: javascript jquery asp.net-mvc-partialview


【解决方案1】:

在@freedomn-m 的帮助下,我发现我可以在加载完成后添加一个函数:

$("#div1").load("/Category/EditCategory", 
    function(){$("#createCategory").modal('toggle');});

现在可以了

【讨论】:

    猜你喜欢
    • 2013-01-28
    • 1970-01-01
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    相关资源
    最近更新 更多