0

我的网站在 mvc-4 中,我正在对话框中打开部分视图。部分视图第一次工作正常,但是当我第二次打开它时,它会打开他的对话框,但部分视图不起作用。我认为我做错了一些 jquery 问题。在部分视图中,div 悬停事件不起作用。

这是我打开对话框的代码:

<div onclick="ShowHistory();">Actions History</div>
function ShowHistory()
{
    myDialog = $("<div> </div>");
    myDialog.dialog({
        autoOpen: false,
        width: 1050,
        title: "Title",
        resizable: false,
        modal: true,
        draggable: false,
    });

    myDialog.load("@Url.Action("Method_return_partial_view", new {id = 1 })",
function () {
        myDialog.dialog('open');
    });

}

控制器方法:

[Authorize]
    public PartialViewResult Method_return_partial_view(int id)
    {
        var list = GetHistory(id);
        return PartialView("_partialViewName", list);
    }

编辑:

我也在对网格进行排序,并且网格排序是使用 jquery ajax 完成的,第一次打开时它工作正常,并且调用一次用于排序的控制器方法,但是当我第二次打开对话框并单击排序标题时,控制器方法调用多个两个,意味着如果单击一次然后调用一次,如果单击第二次则控制器方法调用 2 次,如果单击 3 则调用 4 次。

4

1 回答 1

1

您应该尝试指定对话框关闭时会发生什么,以便可以再次重用它。试试这个:

function ShowHistory()
{
    myDialog = $("<div> </div>");
    myDialog.dialog({
        close: function (event, ui) {
            // remove div with all data and events            
            myDialog.remove();
                },
        autoOpen: false,
        width: 1050,
        title: "Title",
        resizable: false,
        modal: true,
        draggable: false,
    });

    myDialog.load("@Url.Action("Method_return_partial_view", new {id = 1 })",
function () {
        myDialog.dialog('open');
    });    
}
于 2013-05-31T07:06:53.710 回答