0

我了解如何执行部分渲染,但如何使用新的数据 Razor 语法刷新 webgrid。

$.get('@Url.Action("details","user", new { id = Model.ID } )',
   函数(数据){ $('#detailsDiv').replaceWith(数据);});

其中用户控制器有一个名为 details 的操作,它执行以下操作:

公共动作结果详细信息(int id){    
 var model = ...使用id从数据库中获取用户...     
 返回部分(“用户详细信息”,模型);}

最终结果应该是这样的

像 var grid = new WebGrid(source:Model.UserDetails,....

4

1 回答 1

1

在您的 partialView 中将您的网格声明更改为:

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

确保您的 .GetHtml 方法具有:

@grid.GetHtml(
htmlAttributes: new { id = "grid" }, 

//.. 此处的其余选项)并将以下内容添加到您的 Index.cshtml

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

记得放

@{ Layout = null; }

在你的parial中只获取webgrid(没有整个模板)

于 2012-01-04T00:13:39.877 回答