留言簿

我要留言
留言搜索

2013-11-27 20:01  赵桂福

您好,有幸阅读您的文章,同时非常敬佩您。在此有问题请教可否 加下QQ:949540370  非常感谢。
回复:您好,最近在外培训,不方便上网,您有什么问题也可以直接在这里说,我尽可能及时回复。谢谢!

2013-11-26 18:03  tyh

1.5版本,MVC2下,不支持Entity Framework的实体传到页面吗?
错误提示是编译错误什么需要引用System.Data.Entity神马的。
回复:您好,MvcPager和Entity Framework没有任何关系,所以没有什么支持不支持的说法,您说的问题应该是您在其它地方用到了System.Data.Entity这个命名空间下的相关类但却没有正确添加引用而导致,建议您认真检查一下。谢谢!

2013-11-25 17:47  final

我用datalist 分页,当前页码显示在右边了,请问这是什么情况啊
回复:您好,这应该是您用的样式导致的,请用浏览器开发者工具进行检查。谢谢!

2013-11-25 16:30  鹏

您好,有个问题请教:
传中文参数,比如,传值“曼谷”的时候

C#不管是用Server.UrlEncode编码还是HttpUtility.UrlEncode编码
 AspNetPager1_PageChanging 这个事件里这样写的,因为是设置了伪静态html ,中文需要双编码,

AspNetPager1.UrlRewritePattern = "SearchResults_" + HttpUtility.UrlEncode(HttpUtility.UrlEncode(Request.QueryString["keyword"])) + "_" + Request.QueryString["type"] + "_" + Request.QueryString["status"] + "_Page" + (e.NewPageIndex + 1) + ".html";


这种情况空间索引指向url 地址为:http://localhost/SearchResults_259b25e825b7_3_1_Page2.html 而我后台调试的url 是:http://localhost/SearchResults_%25e6%259b%25bc%25e8%25b0%25b7_3_1_Page2.html  请大师指点迷津,怎么解决,试了一天,找了好多方法都不行。
回复:您好,在使用url重写功能时,不需要用Request.Querystring这样的方法来获取参数,只需要在UrlRewritePattern中用%参数名%这样即可,请参考UrlRewritePattern属性的帮助文档,有详细的说明。谢谢!

2013-11-21 17:51  szr

杨哥我用的是 mvcpage ,在ie6 下 点击下一页 ,为什么显示数据的列表,在页面上看不见了。
注意:我调试程序,可以获取到数据的。
回复:您好,分页控件和数据是独立的,如果您可以获取数据但无法显示,那应该是您的问题,和分页控件没有关系,您需要仔细检查调试,查找原因。谢谢!

2013-11-20 10:33  杨斌

呵呵,你的留言板真不是太方便。PagedList基本上是用不上的,主要是因为在分布式环境下,有多次的数据迁移(界面层、业务层、数据层等尽管数据属性差不多,但还是区别很多),PagedList做得太多工作了,我的分页条件是用表达示参数传入(各层调用时,需要转换表达示),这样的话,就需要构造如 public ActionResult Index(int page, int rows)。用方法GetList(o => o.Where(...), page, rows)获取数据。
我用的是HtmlHelper.Pager和AjaxHelper.Pager扩展方法构造函数的前两个,但参数太多,基于UI程序员简化的原则,构建一个简单的PageModel类,这样使用者不必关心太多的细节。
我以为你的1.5版脚本处理的方式就非常好。原因是,UI开发人员不必关心太多设置,仅简单调用就行。就如我说的那样@Html.AjaxPager(new PageModel { TotalCount = @Model.TotalCount,Rows=20})(当然PageModel还有其它可设置属性,但大多数场景这两个参数就够用了),不必改变其它,就能正确分页,而2.0需要另行设置,容易出错。简单才是王道。
如果出一个精简版就完美了。(PS:我见过有程序员用你这个控件,把PagedList引入到了业务层中了)
回复:抱歉,最近在外培训,回复迟了请原谅!您说的问题我确实不太理解,现在的PagedList就完全可以实现您说的这种需求,不知道您为什么非要自定义一个Model呢?可能是您不太会用的缘故,您可以看一下应用CSS样式的例子的后台代码,也是手工初始化PagedList的,不需要那么多参数。至于客户端脚本,1.5版很不规范而且对一些浏览器包括chrome的兼容性有问题,页索引下拉框改变值后不能自动跳转,最主要的是1.5版的脚本都是直接附加在html代码中的,导致最终生成的代码比2.0版大了几倍,不信您可以比较一下。谢谢!BTW:不知道您说的留言簿不太方便是怎么回事?我测试过几次都没问题,可能是您的网络慢导致验证码加载有问题吧?

2013-11-19 15:39  杨斌

有幸使用你们MVC分页控件,在使用过程中,我改了以下两处,
一、分离出实际数据与分页间的关系,
  如 @Html.AjaxPager(new PageModel { TotalCount = @Model.TotalCount,Rows=20})
  这样在页面上只要求数据提供者提供记录总数即可PageModel 是个简单的类为分页控件提供必要参数
二、更改GoToPage的操作,在超出上下限时不是报错,而是以上下限为页面,这样用户体验要好些
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){pageIndex=1;_pib.value=1;}else if(RegExp.$1>_mp){pageIndex=_mp;_pib.value=_mp;}}var _hl=document.getElementById(_pib.id+'link').childNodes[0];var _lh=_hl.href;_hl.href=_lh.replace('" + ScriptPageIndexName + "',pageIndex);if(_hl.click){_hl.click();}else{var evt=document.createEvent('MouseEvents');evt.initEvent('click',true,true);_hl.dispatchEvent(evt);}_hl.href=_lh;}";

三、建议:Rows不能传入,本想改的,看了下动的地方较多,下一版本能否提供分页行数以参数传入
回复:您好,谢谢您热心提供意见,不过您说的第一个问题我有些不太懂,您的PageModel和现在的IPagedList或PagedList又有什么区别呢?因为现在就是实际数据与分页控件分离的,甚至您也可以不用IPagedList或PagedList,请看一下HtmlHelper.Pager和AjaxHelper.Pager扩展方法构造函数的前两个。第二个问题,您用的应该是1.5版,最新的2.0版客户端代码已经封装为jQuery插件,您可以看一下最新的源代码。谢谢!

2013-11-19 15:32  二叔

下各节已定义,但尚未为布局页“~/Views/Shared/_Layout.cshtml”呈现:“Scripts”。
回复:您好,您的问题描述不清楚,不过从错误信息看,应该和MvcPager没有关系,可能是您没有在_Layout.cshtml中定义Scripts这个 section,而在子页面中却调用了它,请检查。谢谢!

2013-11-18 13:31  Jack Che

AspNetPager 7.4.5  有个重大BUG,相当确定。 AspNetPager 7.4.5在WIN2003 iis 6下面部署,IE6下面正常,IE9/10/11 访问,点击“下一页”时 均无反应。 IE 7/8 没测试。  可以自己写DEMO 也可以直接拿作者的DEMO直接部署。不管是WEBSITE 还是 WEBAPP 均是。
回复:您好,已很多年没有用过win2003了,没有可测试的环境,您说的问题很可能是asp.net的本身的问题,看看Scott Hanselsman的这篇博客是否与您说的问题相同:Bug and Fix: ASP.NET fails to detect IE10 causing _doPostBack is undefined JavaScript error or maintain FF5 scrollbar position。谢谢!

2013-11-17 20:04  zw

mvcpager中的扩展方法ToPagedList在大数据表中的性能如何?
回复:您好,ToPagedList是一个linq扩展,不同的数据源或数据库最终生成的数据获取方法不同,所以无法评判性能,如果自己有更高效的数据获取方法,可以不用这个扩展方法而用PagedList构造函数来生成分页数据对象。谢谢!
;