我理解如何执行渲染部分但是如何使用新数据刷新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,....
答案 0 :(得分:1)
将网格声明更改为:
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(没有整个模板)