如何使用webgrid渲染部分?

时间:2012-01-03 22:53:31

标签: c# asp.net-mvc-3 asp.net-mvc-4

我理解如何执行渲染部分但是如何使用新数据刷新webgrid 请使用Razor语法。

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

其中用户控制器具有名为details的详细信息:

public ActionResult Details( int id ) {    
 var model = ...get user from db using id...     
 return Partial( "UserDetails", model ); } 

最终结果应该是这样的

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

1 个答案:

答案 0 :(得分: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(没有整个模板)