PartialViews与$('#container')一起使用.load()html更新与webgrids一起使用?我已经使用PartialViews对常规html表进行更新,但是我无法使用包含在div中的webgrid来使用以下内容。
所有内容都从我的动作控制器返回,该动作控制器以javascript()函数的形式返回使用webgrid构建的更新的PartialView但是当我在javascript函数中调用load()时div不更新webgrid表内容
以下是一些代码段:
主索引视图(这是从我的模型中包含所有行的索引操作填充的): (页面包含webgrid和下拉列表)
@model IEnumerable<Models.Person>
@Html.ListBox("CStatus", null, new { style = "width:104px;" }) @*Multiselect that invokes the filter*@
<div id="gridview" class="gen">@Html.Partial("_Persons", Model)</div> @*Main Webgrid
<script type="text/javascript">
$("select").multiselect({
click: function (event, ui) {
alert('hello');
$.get('@Url.Action("Filter")', function (data) {
window.alert('New filtered data coming from action!');
window.alert(data); @*This comes back with new <table>... html data*@
$('#gridview').load('@Url.Action("Filter")', data); @*not updating table data*@
});
}
});
</script>
渲染Webgrid:
<div id="gridview">
<table class="webgrid"><thead><tr class="head"><th scope="col"> <MORE COLUMN DEFS...then just basic html tr/td tags....
</table>
</div>
控制器操作:
public ActionResult Filter()
{
IList<Person> cs = cs = db.Persons.OrderByDescending(x => x.Id).ToList();
return PartialView("_Persons", cs);
}
_Persons.cshtml显示webgrid的共享/部分模板:
@model IEnumerable<Models.Person>
@{
var grid = new WebGrid(source: Model,
rowsPerPage: 50);
}
@grid.GetHtml(
tableStyle: "webgrid",
headerStyle: "head",
alternatingRowStyle: "alt",
columns: grid.Columns(
grid.Column("PersonId", "Id"),
grid.Column("PersonName", "Name")
)