我使用 asp mvc razor + mvc grid 创建了一个应用程序。我的问题是:我有一个视图,其中包含返回部分视图的多个操作,在每个部分视图中都有一个显示数据的网格。我正在使用支持分页和排序的 mvc contrib 网格。
我的观点(index.cshtml):
<div class="row-fluid">
<div id="formations" class="control-group">
@Html.Action("Formations")
</div>
<div id="pools" class="control-group">
@Html.Action("Pools")
</div>
<div id="zones" class="control-group">
@Html.Action("Zones")
</div>
编队行动:
public ActionResult Formations(GridSortOptions sort, int? page, string filter = "all")
{
IPagination<StratUnitVo> pagination = ....
return PartialView("_Formations", pagination);
}
部分视图_Formations:
@Html.Grid(Model).Sort(ViewData["sort"] as GridSortOptions).Columns(col =>
{
col.For(p => Html.ActionLink(p.LongName, "EditFormation", "Stratigraphy", new { id = p.Id }, null).ToHtmlString()).Encode(false).Named(Locale.Name).SortColumnName("LongName");
col.For(p => p.FormCode).Named(Locale.Code);
col.For(p => p.ReferenceStratUnit.LongName).Named(Locale.ReferenceFormation);
}).Attributes(@class => "table table-condensed table-striped table-hover")
@if (Model.Count() > 0)
{
@Html.Raw(@Html.Pager(Model)));
}
其他动作和视图最像上面的示例(只是模型数据的差异)。我的问题是:
- 当我单击一个网格中的导航分页(例如:编队)时,将导航到另一个网格(池和区域)。例如:单击编队网格中的第 2 页也会将另一个网格移动到第 2 页。
- 当我单击一个网格中的列标题时(这意味着我要对数据进行排序),整个页面被部分视图替换。我想要的只是对我单击的网格进行排序。
我该如何解决?
谢谢!