jquery对话框打开,一切正常但不是第二次

时间:2013-05-31 06:35:58

标签: c# jquery asp.net-mvc-4 razor

我的网站是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次,如果第三次则调用4次。

1 个答案:

答案 0 :(得分: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');
    });    
}