我有一个Jquery对话框,我加载了一个包含webgrid的视图。它正常打开并在webgrid中显示内容。但是,当我单击分页链接时,webgrid的下一页不会在对话框中打开,而是作为浏览器中的其他页面打开。
我不能在Jquery对话框中有一个webgrid吗?
如果可以,我是否必须设置特定属性?
答案 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和回调函数:)