MVC3 Webgrid Paging在Jquery对话框中不起作用

时间:2012-01-30 09:37:38

标签: asp.net-mvc-3 jquery-ui

我有一个Jquery对话框,我加载了一个包含webgrid的视图。它正常打开并在webgrid中显示内容。但是,当我单击分页链接时,webgrid的下一页不会在对话框中打开,而是作为浏览器中的其他页面打开。

我不能在Jquery对话框中有一个webgrid吗?

如果可以,我是否必须设置特定属性?

1 个答案:

答案 0 :(得分:12)

您需要定义ajaxUpdateCallback函数,例如:

 var grid = new WebGrid(source: Model,
    ajaxUpdateCallback: "GridUpdate",
    ajaxUpdateContainerId: "grid"
    rowsPerPage: 50); 

确保您的.GetHtml方法具有:

@grid.GetHtml(
    htmlAttributes: new { id = "grid" }, 
//.. rest of the options here
)

并将以下内容添加到主视图中

<script type="text/javascript">
    function GridUpdate(data) {
        $('#grid').html(data);
    }
</script>

花5分钟查看您的WebGrid代码,它将为您提供很多帮助,并在将来节省时间。它是什么,是一个用jQuery代码增强的HTML表。查看页面链接和标题(用于排序)它们都只是带有Url的$ .load()调用和Callback参数。所以重要的是弄清楚正确的div id和回调函数:)