留言簿
留言成功,请等待站长审核,谢谢支持!
2011-04-20 09:35 刘波
不好意思,刚才发错了,再发一遍,请问为什么我在实例里能看到翻页后面的输入框,我把实例中的那个dll拷贝到另一个网站里,还是看不到,翻页什么都正常,在帮助文档里没有找到关于这个的属性,对比了CustomRendering_Default和我用的代码没有发现撒区别。请指教,谢谢
2011-04-20 09:34 刘波
你好,请问为什么我在实例里能看到输入框后面的输入框,我把实例中的那个dll拷贝到另一个网站里,还是看不到,翻页什么都正常,在帮助文档里没有找到关于这个的属性,对比了CustomRendering_Default和我用的代码没有发现撒区别。请指教,谢谢
2011-04-19 20:17 轩辕海锋
杨老师:我用了这个控件了,也重新生成了,但是出现错误:“adminPages_AssDepartment.AspNetPager1_PageChanged(object, System.EventArgs)”不可访问,因为它受保护级别限制----该怎么解决呢?
回复:给您的adminPages_AssDepartment.AspNetPager1_PageChanged事件处理程序加上public或protected访问修饰符,如果不加的话默认是private,就会出现访问级别限制的问题,关于C#访问修饰符的问题,请一下这篇MSDN文档:http://msdn.microsoft.com/zh-cn/library/wxh6fsc7(v=vs.80).aspx。谢谢!
2011-04-19 14:44 天之子
如果你想让更多的人使用你的控件,建议发送到nuGet控件库上去,地址:http://nuget.org/,数量非常庞大的用户群体,都在使用nuGet作为辅助工具。
回复:您好,谢谢您的建议,MvcPager前几天刚升级到1.5版,还没来得及发布到nuget,现在在外集训,回去后我发制作发布包并发布的。谢谢!
2011-04-19 14:40 寒风
杨老师,能把您网站的留言版的搜索功能的思路说一下吗?我在用mvcpager时实现查询并用 jquery ajax 分页时,当跳转到其他页时,无法得到搜索的分页结果。应该是ajax分页时没有把参数post过去, 能否把 您搜索功能 的代码发我拜读拜读。 在MvcPager1.5的示例中我没找到相应的搜索分页示例。 谢谢! 我邮箱地址:zyjmmlove@gmail.com
回复:您好,这个查询很简单,是通过get方法实现的,查询后查询条件就附加到url中了,这样Ajax分页时,url中的参数仍然会被传递到服务器端,如果您要用post方式查询,那就有些难度,我还没写过这样的例子,集训完了回去后我会抽时间试试。谢谢!
2011-04-19 10:45 ez
我下载了MvcPager 1.5 for ASP.NET MVC 2 程序集dll文件 (CN中文),添加了引用,在VS2010中执行“重新生成”没有问题,bin目录下也有MvcPager1.5Mvc2.dll文件,但是运行以后出现如下错误: 未能加载文件或程序集“MvcPager1.5Mvc2”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)。 请问如何解决?
回复:您的项目是ASP.NET MVC2的项目吗?确认下载的MvcPager与您的项目的ASP.NET MVC版本一致吗?试试重新添加引用再编译一次,另外也可以下载示例项目看能否在您的机器上正常运行,确保您的.net框架和ASP.NET MVC环境没有问题。
2011-04-19 00:41 Ivan
杨老师,页面通过<%@ OutputCache Duration="120" Location="ServerAndClient" VaryByParam="d" %>设置了缓存,而又不是通过参数方式分页,请问这块缓存的问题该怎么解决呢?
回复:您好,这种查询情况下您不应该用Outputcache,如果一定要用,试试设置VaryByHeader,参见:http://msdn.microsoft.com/en-us/library/hdxfb6cy.aspx。谢谢!
2011-04-18 11:42 小赵
杨涛老师你好,我碰到分页问题,当UrlPaging="False",正常分页、查询时分页也都正常的,但我想搞成UrlPaging="True"使url传递分页信息时发现正常分页是可以的,但是查询分页时我点击其他页时总是回到正常分页,我传递查询参数是使用的post,而不是通常url的QueryStrin传递,请问这应该怎么解决呢?我只想通常url传递页数,而其他查询参数不通过url传递
回复:您好,用url分页时,每次分页都会打开新的页面,原来页面的ViewState就没有用了,这也就是为什么您改为url分页后无法查询的原因,如果您要使用url分页方式实现查询,那么最好用get的方式将查询条件附加到url中,这样分页后查询条件会被传递到下一页,就可以实现正常的分页了。如果不想通过url传递参数,那就只能用默认的Postback分页方式,这样查询条件可以通过ViewState来传递。谢谢!
2011-04-18 10:44 陈凯
9:ajax我是不大熟悉,但非mvc下的,jquery ajax的前台后台交互,异步加载,json等等还是会的,我的问题也不是在纠结ajax分页,而是查询后分页和分页后的翻页效果。 是在辛苦您了!
回复:您好,等我集训完回去后抽时间专门写几个查询例子供您参考。谢谢!
2011-04-18 10:37 陈凯
我表达欠佳,你没明白我的问题。 1:先不提ajax分页。标准的url查询分页后,点击页码,页面刷新但contorl找不到查询条件,所以查询分页失效。我把PagerBuilder.cs中RenderPager方法最后加个判断if (_pagerOptions.IsPost) { //通过 _pagerOptions.FormName获得用户选定表单名称,修改其 action,然后提交。 pagerScript += " function _PagePostSubmit(href){ document.forms['" + _pagerOptions.FormName + "'].action=href;document.forms['" + _pagerOptions.FormName + "'].submit();}"; },所有的页码点击后就能取到查询条件了,我知道go按钮可以控制显示和隐藏,但您的源码 private const string GoToPageScript = "function _MvcPager_GoToPage(_pib,_mp){var pageIndex;if(_pib.tagName==\"SELECT\"){pageIndex=_pib.options[_pib.selectedIndex].value;}else{pageIndex=_pib.value;var r=new RegExp(\"^\\\\s*(\\\\d+)\\\\s*$\");if(!r.test(pageIndex)){alert(\"%InvalidPageIndexErrorMessage%\");return;}else if(RegExp.$1<1||RegExp.$1>_mp){alert(\"%PageIndexOutOfRangeErrorMessage%\");return;}}var _hl=document.getElementById(_pib.id+'link').childNodes[0];var _lh=_hl.href;_hl.href=_lh.replace('" + ScriptPageIndexName + "',pageIndex);%ClickHandler%;_hl.href=_lh;}"; 没有涉及到表单提交,我不知道在那里添加(查询条件在具体form,要传参表单名才能指定提交的表单)。 2:没修改源码之前--您的所有分页都能实现查询后分页,管他是url,ajax都能实现,看的到查询后有多少页,查询前有多少页,所以您的分页是没有问题的。问题所在是分页后的页码点击和go按钮点击牵扯的事件,并没有涉及到查询条件的读取,所有没了查询条件,页码和按钮点击后查到的数据回到了查询前分页,您的分页还是没问题。比如查询前有50页,点击翻页什么方式都没问题,查询后submit(按钮),contorl取到Request.Form(也就是查询条件),查询后分页,假如有10页。从50页到10页说明您的分页还是没问题。出现问题的地方就在页码和go的点击,然后10页就重新回到了50页,查询条件丢失(AjaxOptions.HttpMethod为Post,情况没有改变,当然我用的还是标准url分页)。 3:我分析的就是修改您的RenderPager方法,看到pagerScript并没涉及表单提交,所以做了修改,解决了50页到10页之后的页码点击后还是50的问题,(回到1:)go按钮我不会弄,在1中已经说清楚问题。 4:我没用url传参(查询条件多了不好弄,也不会保存条件,批量删除我用的是url/(要删除的is字符串)Request.RawUrl截取参数,再删除,queryString还要再url串参数),在一个view中做展示、查询和分页。ViewData保存查询条件,view中保存无误(提交后条件还在)。 5:我觉得如果在一个view中做展示、查询和分页,用form提交ViewData保存的方式最简单直观方便,如1:中的解决办法,效果很好,查询后分页无误,页码点击是在查询后的结果集中翻页,无误,唯一的不足就是go按钮的点击,页码点正常,go之后查询条件丢失回到了查询前,没用go用select页面刷新后永远是第一页,用文本框也是一样。 6:我的解决办法是,页面显示总记录和当前页码,不显示select和go,只有页码的显示,查询后分页完美实现,没有go总觉得缺少点什么。 7:您是一个好人,每天那么多人提问,您也要工作,还会各个回复,精神直追雷锋,在下五体投地。您看,好
回复:您好,辛苦了,这是我的留言簿上见过的最长的留言:)因为长度限制,后边的部分文字被截掉了,我大概了解您的意思就是要实现查询分页,我最近这段时间在外参加集训,等完了回去后我会抽时间专门做几个查询的例子供大家参考。谢谢!