留言簿

我要留言
留言搜索

2009-12-28 20:43  asdfgh129

如何对搜索的结果集进行分页?即结果集不是db.orders等固定的集合,而是根据搜索条件筛选的结果集。在分页控件的URL上不单要传递PAGERID,还要传送搜索条件,请问这种情况如何解决?
回复:您好,如果您用默认的回发分页方式,那么搜索条件可以用ViewState传递,如果您用url分页,那么最好的办法就是您说的在Url中传递搜索条件,另外也可以考虑Session。谢谢!

2009-12-28 18:58  wmc8161

你好!
请问使用ASP.NET MVC Pager页面切换时不能局部刷新是应为什么?
例如<%foreach(Order od in Model)
调试时od值都改变了但是没有在页面上面显示出来
回复:您好,我不太懂您的意思,您说的是用Ajax分页方式吗?您用PartialView 了吗?

2009-12-28 14:43  leeolevis

请问站长AspNetPager和MvcPager支持SQLite吗?
回复:您好,无论是AspNetPager还是MvcPager,都和数据源没有直接关系,您用什么数据源都可以,因为获取数据的操作都是完全由您控制的。谢谢!

2009-12-28 13:24  dai.soa

然后在这个*.aspx的view中把Model当成参数传递给*.ascx用户控件处理    应该是      然后在这个*.aspx的view中把Model当成参数传递给*.ascx用户控件显示

写错了!见谅!
回复:Mvc中可以自定义对象来做为Model进行传递,比如除了要传递当前分页数据外,很多情况下还要传递其它数据,这种情况下可以自定义一个MyModelData,类似于这样:
public class MyModelData{
public PagedList
PagedArticles{get;set;} //分页的文章
public List
LatestArticles{get;set;} //最新的N条文章
public List
HotArticles{get;set;} //最热门的N条文章
}
然后把MyModelData做为Model传递,就可以实现强类型的Model传递了,比如分页时传递的分页数据就是 Model.PagedArticles。

2009-12-28 11:28  dai.soa

        AspNetPager.RecordCount = BLL.CMS_Article_GetRecordCount(MP);
        AspNetPager.PageSize=int.Parse(Page_Size.SelectedValue.Trim());
        RP_Article_List.DataSource = BLL.CMS_Article_GetList(AspNetPager.PageSize, AspNetPager.CurrentPageIndex, MP, AspNetPager.RecordCount);
        RP_Article_List.DataBind();
还是觉得像上面AspNetPager只是提供一个导航按钮的生成功能!至于数据源则完全由用户控制要好些!
回复:您好,现在的MvcPager和数据源也没有任何直接关系,不知道您说哪里不能完全由用户控制?如果您不想用PagedList对象,也可以直接传递分页相关参数,请看MvcPager帮助文档中HtmlHelper.Pager扩展方法下的第一个和第二个重载方法。

2009-12-28 11:22  dai.soa

看了下杨哥MVCPager的调用方式!需要C传一个Model给*.aspx,然后在这个*.aspx的view中把Model当成参数传递给*.ascx用户控件处理!我想这样是不是限制了*.aspx中Model的多样性了?比如说分页列表的*.aspx  view中还有其他的信息需要Model传递该怎么办呢?(建议优化下用Html.RenderAction或者更好的方法!)另看了下ToPagedList()和PagedList<DataRow> pl = new PagedList<DataRow>(dt.Select(), pageIndex, pageSize);
这两个方法都需要当前页码:pageIndex和页大小:pageSize!请问这两个参数只是纯粹的生成按钮导航还是参与了具体的数据分页操作?感觉PagedList<Order> orders = db.Orders.ToPagedList(id ?? 1, 20);是把所有数据都从数据库中取出来后再用ToPagedList方法进行数据分页的!如果这是这样则效率必将损失大半!
另外List数据到PagedList数据的转换效率如何?是否应该在取数据的时候直接应用PagedList类型而非List数据?谢杨大哥解惑!
回复:您好,关于Model传值的问题,MvcPager并没有限制您必须传递一个PagedList类型的Model,您完全可以传递任何类型的对象,甚至可以把PagedList这个分页数据通过ViewData传递,示例中只是为了简单和方便而直接用了Model。PageIndex和PageSize是获取分页数据必须的参数,ToPagedList是Linq扩展方法,不同的数据源获取数据的方法当然是不一样的,如果您用sql server 2005数据库,用sql server profiler可以看到它生成的sql语句,它直接从数据库获取当前页的数据而不是所有数据。至于获取数据时用PagedList还是List,那要看具体的情况,一般来说当然直接返回PagedList更好,除非您没法用Linq或已经有了一个List的集合。谢谢!

2009-12-27 23:29  Filter

您好,您网站上的存储过程生成工具( http://www.webdiyer.com/Products/AspNetPager/SpGenerator )貌似不正常,我用所有的浏览器都试了一遍,都无法生成存储过程,麻烦站长看看是不是有问题
回复:您好,谢谢您发现并反馈网站的问题,这个生成工具是以前用asp.net webform做的,升级到asp.net mvc 1.0后只做了很小的改动就能正常运行,前两天网站升级到asp.net 4.0+asp.net mvc 2,才发现这个工具不能正常运行了,我这两天会抽空用asp.net mvc 2重做一下。谢谢支持!

2009-12-27 00:12  dai.soa

请问杨哥如何将List<T>类型转换成PagedList<T>类型?
回复:您好,新的MvcPager示例项目中有个DataRow集合的分页示例,和List这种类型的实现原理是一样的,您可以下载参考一下。谢谢!

2009-12-26 15:06  dai.soa

杨大哥你网站中的http://www.webdiyer.com/Products/MvcPager/PoweredSites/0这个页面在打开后一直不停的刷新!请检查!
回复:您好,非常感谢报告这个问题,这是MvcPager的一个bug,我已经修正了。谢谢您的热心指正!!

2009-12-25 14:38  侯劲松

错误	115	AspNetPager1:未能对属性“LastPageText”设置“尾页”。	F:\zhuche\web\boyongadmin\Get_Product.aspx	F:\zhuche\web这个是怎么回事 生成的时候出现的  到页面浏览没影响
回复:您好,我实在没见过这样的问题,我也不知道怎么回事,是不是杀毒软件什么的在搞鬼呢?
;