留言簿
留言成功,请等待站长审核,谢谢支持!
2013-10-12 15:06 陈兴龙
比如我有10页数据内容 我在第二页删除一条数据然后重新绑定内容 却回到了第一页 我查了下CurrentPageIndex=1 这个什么原因呢 谢谢
回复:您好,这个应该和您绑定数据以及删除数据的方法有关系,您没有帖出代码无法知道具体原因。谢谢!
2013-10-11 17:03 .NET新手
AspNetPager: 你好!麻烦解答下?谢谢! DataView dv = 获取DataView; AspNetPager.RecordCount = dv.Count; 获取DataView取全部数据,一切都没有问题。但是如果一次取10条,AspNetPager.RecordCount设置为所有数据总数,就出现问题。 问题规则如下: ----------------------------------------------------------------- DataView dv = 全部数据(11条); AspNetPager.RecordCount = 全部数据个数(11); 结果:无问题 ----------------------------------------------------------------- ----------------------------------------------------------------- DataView dv = 部分数据(10条); AspNetPager.RecordCount = 全部数据个数(11); 结果:第一页数据没有问题,第二页无数据。 -----------------------------------------------------------------
回复:您好,您显示的数据来自哪里呢?如果是DataView的话,本来就只有十条数据,只够显示一页,第二页当然没有数据,AspNetPager的RecordCount属性值必须和您要分页的数据总数相符,不相符的话就会产生空白页。谢谢!
2013-10-11 13:39 .NET新手
你好,研究AspNetPager745的时候遇到一些问题,在使用“查询结果分页”功能时发现searchOrders方法的SQL语句是查询所有数据,没有页码的相关语句。是不是需要自己写,当前页码又怎么获取?非常期待你的回复,谢谢!
回复:您好,这个示例中分页不是在SQL中,而是取出所有数据后用PagedDataSource实现分页的,请注意下面的PagedDataSource的代码,获取当前页索引可以用AspNetPager的CurrentPageIndex属性。谢谢!
2013-10-11 11:25 鲜宇
//string str = "已审核"; int id = Convert.ToInt32(Request.QueryString["id"]); //string ids = id.ToString(); //DataTable ds = pbll.GetList("plid='" + ids + "' and beizhu='" + str + "'").Tables[0];//按新闻的不通显示不同的评论数据 DataTable ds = pbll.GetList(1000, "beizhu='已审核'", "id desc").Tables[0];//查询全部 DataView dv = new DataView(ds); this.AspNetPager1.RecordCount = dv.Count; PagedDataSource ps = new PagedDataSource(); ps.AllowPaging = true; ps.DataSource = dv; ps.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1; ps.PageSize = AspNetPager1.PageSize; this.Reppinglun.DataSource = ps; Reppinglun.DataBind(); 上面注释第三行,数据已经显示出来了。但是只显示该新闻评论的一条数据,你看下是不是我那里写错了。谢谢
回复:您好,问题可能在GetList这个方法中,您没有帖出这个方法的代码,无法看出来,请设置断点调试一下。谢谢!
2013-10-09 21:12 rgshare
您好,在阅读MvcPager项目PagerBuilder.cs页源代码时,觉得AddQueryStringToRouteValues方法的前2行代码不是很恰当: if(routeValues==null) routeValues=new RouteValueDictionary(); 当routeValues为null时,它引用的对象已改变(不能达到修改原对象的目的)
回复:您好,routeValues只是一个临时变量,只是在GenerateUrl方法中用当前的viewContext.RouteData.Values来生成这个routeValues而已,并没有引用任何对象,不知道您说的“它引用的对象已改变(不能达到修改原对象的目的)”是什么意思?谢谢!
2013-10-09 09:54 Ganker
http://www.webdiyer.com/mvcpager/demo/delete/2/ 你好,这个页面 在第一页点删除选中项后 就报错了。
回复:您好,确实是这样,我没有注意到这个问题,这个示例是演示删除选中项的,如果您没选中任何项的话,点击删除按钮就会出错,我有空修正一下,非常感谢您的提示!
2013-10-08 15:55 鲜宇
我做的一个网站是按类型查找的,用的是Repeater分页, protected string titleName = "政策法规"; hq.BLL.News hyxw = new hq.BLL.News(); hq.BLL.shouyetupian sytp = new hq.BLL.shouyetupian(); protected void Page_Load(object sender, EventArgs e) { //首页banner图 Repshoutu.DataSource = sytp.GetList(5, "", "DTime desc"); Repshoutu.DataBind(); Grivd(""); string temp = Request["Type"]; int typeId = 1; hq.BLL.TypeNews XW = new hq.BLL.TypeNews(); rptList.DataSource = XW.GetList(""); rptList.DataBind(); Repeater2.DataSource = hyxw.QueryByTypeId(5); Repeater2.DataBind(); if (!string.IsNullOrEmpty(temp)) { typeId = Convert.ToInt32(temp); hq.Model.TypeNews types = XW.QueryById(typeId); titleName = types.TypeName; RepNews.DataSource = hyxw.QueryByTypeId(typeId); RepNews.DataBind(); } } private void Grivd(string p) { DataTable ds = hyxw.GetList(5000, "", "DTime desc").Tables[0]; DataView dv = new DataView(ds); this.AspNetPager1.RecordCount = dv.Count; PagedDataSource ps = new PagedDataSource(); ps.AllowPaging = true; ps.DataSource = dv; ps.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1; ps.PageSize = AspNetPager1.PageSize; this.RepNews.DataSource = ps; RepNews.DataBind(); } protected void AspNetPager1_PageChanged(object sender, EventArgs e) { Grivd(""); } 这样查找出来是所有的类型可以用分页,但是我按类型分页就不对
回复:您好,您分页时把类型参数传递到获取数据的相应方法中了吗?请设置断点一下,如果没传递过去,那么查询的数据肯定是全部数据。谢谢!
2013-10-08 14:54 cctv
老师,我想问问多表查询的结果不是一个model怎么用您的分页控件输出?
回复:您好,分页控件和数据源没有关系,所以怎么输出和它没有关系,是需要您自己处理的,一般来说,您只要熟悉SQL,多表关联分页也没有太大不同。谢谢!
2013-10-01 22:10 Newbie
sorry,刚才说错了,增加的PagerItemCssClass只需要应用给所有项,当前项是不需要应用的,因为它默认没有wrapper。这些刚才我已经都自己加好了,需要发给你修改过的源码吗?因为我目前不知道mvcpager的版权是怎样的。谢谢。
回复:您好,MvcPager不会再添加这些属性,完全没有必要,这样会导致控件变得臃肿不堪,这是从AspNetPager汲取的教训。谢谢您的建议和支持!MvcPager用的是Microsoft Public License (Ms-PL)版权协议,一般来说,只要您不修改控件源代码及生成的html代码中的版权信息,那么可以用于任何地方,包括商业项目,如果要去掉这些版权信息,可以象征性地支付88元商业授权费用购买完全可以自己任意修改的商业版。谢谢!
2013-10-01 21:57 Newbie
我找到了,在PageBuilder.cs行421那里,使用了HttpUtility.HtmlEncode,直接去掉应该是可以的吧?因为如果要使用encode过的文字,用户可以在传入时就直接传入encode的文字。 另外我想提个建议,在PagerOptions.cs中加入ItemClssClass以及CurrentItemCssClass,为每个项增加一个class,谢谢。
回复:您好,不可以去掉,去掉的话如果随意对页索引使用html代码,很可能会导致相应的分页链接失去做用。至于您说的添加CssClass属性的问题,AspNetPager就因为这些属性导致变得很臃肿,应用CSS样式完全可以按示例中说的方法进行,没必要添加这么多属性,属性太多会使使用它的开发人员眼花缭乱,无所适从。谢谢!