【发布时间】:2011-01-29 15:57:46
【问题描述】:
如何以最少的编码将用于 ASP.NET MVC (http://demos.telerik.com/aspnet-mvc/Grid) 的 Telerik Grid 分页与我的 NHibernate 数据访问集成?
【问题讨论】:
标签: asp.net-mvc nhibernate pagination telerik
如何以最少的编码将用于 ASP.NET MVC (http://demos.telerik.com/aspnet-mvc/Grid) 的 Telerik Grid 分页与我的 NHibernate 数据访问集成?
【问题讨论】:
标签: asp.net-mvc nhibernate pagination telerik
我真的不知道您的最少编码标准是什么,但在 Telerik 网站上,您提供了一个非常冗长的示例:
public partial class GridController : Controller
{
public ActionResult FirstLook(bool? ajax, bool? scrolling, bool? paging, bool? filtering, bool? sorting, bool? grouping, bool? showFooter)
{
ViewData["ajax"] = ajax ?? true;
ViewData["scrolling"] = scrolling ?? true;
ViewData["paging"] = paging ?? true;
ViewData["filtering"] = filtering ?? true;
ViewData["grouping"] = grouping ?? true;
ViewData["sorting"] = sorting ?? true;
ViewData["showFooter"] = showFooter ?? true;
return View(GetOrderDto());
}
[GridAction]
public ActionResult _FirstLook()
{
return View(new GridModel(GetOrderDto()));
}
}
所以您需要做的就是实现这个GetOrderDto 方法(顺便说一下,它应该放在某个存储库中,而不是控制器逻辑的一部分),您可以在其中使用现有的 NHibernate 数据访问。
【讨论】:
SetFirstResult 和 SetMaxResult 对结果集进行分页 (stackoverflow.com/questions/54754/…)。
尝试将 IQueryable 对象(Linq 到 NHibernate)传递给 Telerik Grid,在这种情况下,它将自动进行分页/排序(无需编码)。
【讨论】: