留言簿

我要留言
留言搜索

2011-04-18 09:43  张盼

好的,谢谢
回复:不谢:)

2011-04-18 08:38  吴争辉

您好,我现在应用MVC3做了一个搜索页面,该页面需要输入一个查询字符串,然后进行分页,但是遇到问题,点击下一页,上一页,首页,尾页等的时候,我的查询条件就不错在了,我该如何解决,急
回复:您好,查询时用get方法将查询条件通过url传递就可以了,分页时这些参数都会传递到下一页。

2011-04-16 10:23  张盼

您好,发现一个bug。
当form表单非服务器端时(也就是没有runat="server"),且分页控件需要跳转。
此时无法注册分页的脚本,找不到ANP_keydown
回复:您好,您用的是url分页方式吧?默认url分页情况下AspNetPager控件可以不需要服务器端form,但是如果要注册脚本,服务器端form又是必须的,这个问题以前已经有网友提过,至于为什么没解决我现在一时记不起了,好象是要么用url分页必须使用服务器端form,要么不使用,不太好根据分页条件动态判断,所以出现这个问题,如果您用url分页并且需要启用页索引输入或下拉框,请将分页控件包含在form runat="server"中。这个问题我有空再看看是否有好的解决办法。谢谢!

2011-04-16 02:13  wwei98

来您这里下载了一个控件,虽然还没来得及用,但是先感谢您,谢谢!顺祝身体健康!
回复:您好,谢谢支持!

2011-04-15 16:17  陈凯

您的示例教程是用路由做的查询,我个人感觉不实际,1:url有长度限制,查询条件多了就有可能出错2:不可能做一个查询,就配一个路由。没有Go按钮其实也无所谓,但页码太多的话,用户体验就不大好了。
辛苦您了
回复:您好,请注意那个示例并不是查询示例,而是使用自定义路由的示例,查询没必要用什么特定的路由,直接象webform一样将参数通过url传递,用QueryString获取就可以了。最后那个Go按纽的问题我不太明白您的意思,这个按钮可以通过设置属值显示或不显示,按纽不显示的话,页索引下拉框当前项改变或文本框中页索引改变就会引发分页事件,请多看一下示例和帮助。

2011-04-14 15:58  陈凯

补充:我把您的源码改了(参考网上的案例),在PagerOptions.cs加了IsPost = false;FormName = "form1";2个属性,并把分页所有控件的链接改成了post并提交form,实现了查询分页。
但是PagerBuilder.cs的GoToPageScript不会改成post+submit
我把_pagerOptions.ShowGoButton的button换成submit,select之后go永远跳到第一页(还好还是查询后的分页),不会往下整了
谢谢!
回复:MvcPager本来就支持通过Post方式进行Ajax分页,设置AjaxOptions.HttpMethod为Post就可以了。

2011-04-14 15:42  陈凯

我在微博给您私信了
在这再说下问题吧
您讲“Ajax分页本来就是这样的”,所以我放弃了,既然不能查询后分页,谁还用,我的批量删除没问题,是ajax没刷新的问题
我用的是form提交做的模糊查询
ajax不post,select/select+button的GoToPageScript也是不post的
所以进不去control的post方法,以至于查询后分页失效
跪求:GoToPageScript怎么进入control的post方法
辛苦了,跑了一天了吧
回复:您好,我从没说过不能查询后分页,一般查询都是通过get方式将参数通过url传递,这方面不会有问题,如果非要用post来传递,那么用Ajax分页时就需要通过Ajax将参数post到服务器端,而不是用表单提交,您需要理解这一点,可以看看jQuery的Ajax或post方法的说明。

2011-04-13 17:58  陈凯

还是那问题,自己还没解决
查询后可以分页,但是点下一页就取不到原来的查询条件,于是就查了所有

另:无刷新分页真的不能批量删除了,观察发现翻页后,右键源码还是第一页的数据,所以全选都没用了

//int mId = string.IsNullOrEmpty(Request.QueryString["MovieId"]) ? -1 : Convert.ToInt32(Request.QueryString["MovieId"]);
            //string title = string.IsNullOrEmpty(Request.QueryString["Title"]) ? "" : Request.QueryString["Title"];
            //string director = string.IsNullOrEmpty(Request.QueryString["Director"]) ? "" : Request.QueryString["Director"];

mId = string.IsNullOrEmpty(Request.Form["MovieId"]) ? 0 : Convert.ToInt32(Request.Form["MovieId"]);
                title = string.IsNullOrEmpty(Request.Form["Title"]) ? "" : Request.Form["Title"];
                director = string.IsNullOrEmpty(Request.Form["Director"]) ? "" : Request.Form["Director"];

都试过了,可以查询,就是不能翻页
movies = db.Movies.OrderBy(r => r.ID)
                        .Where(r => r.ID == mId)
                        .Where(r => r.Title.Contains(title))
                        .Where(r => r.Director.Contains(director))
                        .ToPagedList(id ?? 1, defaultPageSize);

取不到值啊!!!

O(∩_∩)O谢谢!
回复:您好,“观察发现翻页后,右键源码还是第一页的数据,所以全选都没用了”,前两句没有错,Ajax分页本来就是这样的,至于“全选都没用了”那就是您的实现的方法问题了。至于您说的Ajax分页时用Request.Form取不到值的问题,这都是您对Ajax不熟悉导致的,建议您找些资料多了解一下Ajax实现原理及工作方式等。谢谢!

2011-04-13 16:23  吴争辉

我用了你的mvc3+MvcPager实现分页,但始终有问题,是不是分页一定要用linq呀,如果绑定一个对象集合该怎么写
回复:您好,MvcPager和数据源及数据获取方法没有任何关系,所以用什么办法访问数据源决定权都在您,示例中我为了节省时间和方便的原因大部分用了linq和Entity framework,当然也有其它的,请下载最新的1.5版示例看看。

2011-04-13 13:41  陈凯

mvc2.0
用你的Ajax分页(仅刷新部分页面,Url不改变)
分页无误
查询自己添加的<% Html.BeginForm(); %>
控制器Request.Form[""]取值
一切貌似很完美
但模糊查询后,点击分页控件,就回到了初始页的分页
求教解决办法
回复:您好,那是因为您没有把查询条件传递到下一页吧,不知道您是如何实现查询和分页的?
;