在使用kendo网格中的删除按钮后,如何刷新MVC中的局部视图

时间:2015-09-30 09:28:28

标签: jquery asp.net-mvc kendo-grid

我在asp.net MVC应用程序的视图中有一个kendo网格。当我按下此kendo网格中的删除按钮(Destroy function)时,在控制器中调用一个函数来从数据库中删除该对象。在此期间,我想刷新此网格所在的局部视图,以刷新此视图中的标签。例如,是否可以在销毁按钮中添加另一个jq函数,还是有其他解决方案?

以下是视图代码:

<div id="Browsegrid">

 @(Html.Kendo().Grid<WEB02.ConfigurationModel.TestGrid>()
.Name("grid")
.Columns(columns =>
{

    columns.Bound(o => o.Name).Width(110);
    columns.Bound(o => o.Type).Width(130);
    columns.Command(command => command.Destroy()).Width(110);

     })
.Sortable()
.Scrollable(scrollable => scrollable.Virtual(true))
.HtmlAttributes(new { style = "height:430px;" })
.DataSource(dataSource => dataSource
    .Ajax()
    .Model(model => model.Id(p => p.Name))
    .Events(events =>
                          {
                                events.RequestEnd("onRequestEnd"); 
                          })
    .PageSize(100)
    .Read(read => read.Action("TestGrid", "Configuration"))
            .Destroy("TestDelete", "Configuration")    
    )
    .Pageable(pageable => pageable
        .Refresh(true))
)

</div>

脚本部分:它调用ajax请求,调用控制器中的方法来查看局部视图。

<script>

function onRequestEnd(e) {

    $.ajax({

        url: '/Configuration/_WorkflowPartial',
        contentType: 'application/html charset=utf-8',
        type: 'GET',
        dataType: 'html',
        data: { 'nodeName': NN, 'nodeType': NT, 'nodeID': NI, 'nodeURL': NU },
        success: function (data) {
            $('#body').html(data);
        }
    })
}

</script>

1 个答案:

答案 0 :(得分:0)

不是问题中提到的这个事件,而是添加:

.Events(events => events.Error("error_handler").Sync("sync_handler"))

javascript函数:

function sync_handler(e) {
    $.ajax({

        url: '/Configuration/_WorkflowPartial',
        contentType: 'application/html charset=utf-8',
        type: 'GET',
        dataType: 'html',
        data: { 'nodeName': NN, 'nodeType': NT, 'nodeID': NI, 'nodeURL': NU },
        success: function (data) {
            $('#body').html(data);
        }
    })
}

这可以避免之前发生的无限循环,只在单击删除按钮时调用部分页面。传递的数据是先前传递给此部分页面的模型。