如何我用最少的代码我NHibernate的数据访问集成的ASP.NET MVC(http://demos.telerik.com/aspnet-mvc/Grid)Telerik的电网分页?NHibernate的分页为Telerik的扩展了ASP.NET MVC
1
A
回答
1
试图通过一个IQueryable对象(LINQ NHibernate的)到Telerik的网格,在此情况下,它会做寻呼/自动分拣(无需进行编码)。
1
我真的不知道你的标准最少的编码不过是在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数据访问。
所有你所解释的是我已经完成的。然而,GetOrderDto()读取数据库中的所有订单,并返回IEnumerable的将由Telerik的网格将用于渲染正确的页面。我想从数据库中仅使用NHibernate数据访问来检索所需的页面。 –
2010-03-19 22:24:50
当您点击页码时,网格将此号码发送到控制器操作。一旦你的当前页和行数,你想每页显示的,你可以使用'SetFirstResult'和'SetMaxResult'您NHibernate的查询分页结果集(http://stackoverflow.com/questions/54754/如何灿你办寻呼与 - NHibernate的)。 – 2010-03-19 22:33:37