留言簿
留言成功,请等待站长审核,谢谢支持!
2018-03-21 16:05 轨迹
杨老师,您好, 我想问下我的代码为什么分页实现的时候,第一页和首页总是点击着不起作用,但是其他的页码点击着都没事能跳转 我把鼠标放在首页或者第一页的时候,电脑左下角显示的链接只是程序的链接,没有页码的参数,但是放在第二页或者其他页的时候链接就显示的有页码的参数
回复:您好,第一页或首页分页链接没有页索引是因为路由定义中页索引参数是可选的(UrlParameter.Optional),MvcPager为SEO优化,默认对可选参数不添加页索引,详情请参看这个示例的说明:http://www.webdiyer.com/mvcpager/demos/firstpageurl/。谢谢!
2018-03-17 12:36 田洪宇
杨老师,您好! System.TypeAccessException: 安全透明方法“Webdiyer.WebControls.Mvc.PagerHelper.Pager(System.Web.Mvc.HtmlHelper, Webdiyer.WebControls.Mvc.IPagedList, Webdiyer.WebControls.Mvc.PagerOptions)”尝试访问安全关键类型“System.Web.Mvc.MvcHtmlString”失败。 这种错误是因为什么导致的呢?不是命名@model PagedList<Models.xxxxx>么?
回复:您好,这个问题是在什么情况下出现的?本地调试还是部署在服务器上的时候?您用什么样的服务器空间?有什么限制吗?谢谢!
2018-03-14 16:19 大喷菇
杨老师您好 我看您的样例全是使用的局部视图页面,如果我不适用局部视图页面,直接在一个页面里面进行分页操作,是否可行?
回复:您好,您说的是MvcPager吗?如果是Ajax分页,用分部视图效果最好,但分部视图不是必须的,完全可以用一个页面实现,示例中的“Ajax局部加载分页”就是使用一个页面分页的例子,您可以参考一下。谢谢!
2018-03-05 13:53 seven
当前页面url为http://xx.com/SearchResult mvcpager解析出来的是http://xx.com/umbraco/RenderMvc/SearchResult 其中umbraco/RenderMvc是umbraco产品处理的,我初始化分页的时候,可以指定当前url吗?我用的mvc分页,不是Ajax的。
回复:您好,可以通过路由来控制生成的url,MvcPager的扩展方法中可以传递Controller和Action以及routeValued参数,这些参数决定生成的分页url。谢谢!
2018-02-11 19:36 周良
杨老师 您好: <pages pageBaseType="BmProject.Core.ViewPages.AdminViewPage"> VIEWS下面的WEBCONFIG 里 我把pageBaseType改了 AdminViewPage 内容: public abstract class AdminViewPage<TModel> : WebViewPage<TModel> { public AdminWorkContext WorkContext; public sealed override void InitHelpers() { base.InitHelpers(); Html.EnableClientValidation(true);//启用客户端验证 Html.EnableUnobtrusiveJavaScript(true);//启用非侵入式脚本 WorkContext = ((BaseAdminController)(this.ViewContext.Controller)).WorkContext; } public sealed override void Write(object value) { Output.Write(value); } } /// <summary> /// PC后台视图页面基类型 /// </summary> public abstract class AdminViewPage : AdminViewPage<dynamic> { } 然后使用分页时 就出问题了 网页源码: 、<div class="text-center"> Webdiyer.WebControls.Mvc.AjaxPager </div> 请问下怎么解决呢
回复:您好,没有完全看懂您的意思,留言簿留言长度有限,也无法帖出太多代码,不知您是否有简单的重现这个问题的示例项目发给我看一下?我的gmail邮箱名是webdiyer。谢谢!
2018-02-09 16:31 石荣
杨老师,您好 我想问下,这个控件怎么能实现国际化呢? 比如, CustomInfoHTML="每页显示 %PageSize% 条 当前 %CurrentPageIndex%/%PageCount% 页 共 %RecordCount% 条记录 " 我需要把这些关键字,如:"每页显示",“条”,“当前”,“共”....转换成英文。 我的解决方法: 1. 在原有标签嵌套:<%%> 不支持。 2. on_pageload() 方法中,重新定义CustomInfoHTML,但是,点击页面查询button的时候,数据源没有更新。 我的page(aspx),包含查询条件:比如:开始日期,结束日期,图标显示方式。 后台(.cs) Control_ucAspNetPager : System.Web.UI.UserControl,不知道怎么获取这些条件(开始日期,结束日期,图标显示方式。)从而执行存储过程 3. OnPageChanged(),重新定义CustomInfoHTML。这样点击下一页可以实现中英转换。 是否有一些更为简单的方法,可以直接替换? 我不知道我的思路是否正确,您能在百忙工作之余给我意见建议吗?我将不胜感谢。
回复:您好,您的意思是要实现多语言还是只需要英文版呢?如果是多语言,您可以在通过当前culture来判断是什么语言然后设置CustomInfoHTML的内容为对应的语言;查询和AspNetPager没有关系,您需要在button的click事件中获取提交的查询条件然后执行查询,如果您用默认的postback方式分页,那么分页过程中查询参数仍然会通过viewstate进行传递,如果是url分页,那就不能用服务器端button,您需要通过get方式来提交表单,在后台通过Request.QueryString["参数名"]的方式来获取查询条件。谢谢!
2018-02-06 16:15 铁英英
杨老师好。我仿照网站上的演示做“选择页索引”,一直不能实现此功能,别是功能可以正常显示。代码如下: @using EmAttDB.Data.Entity; @using Webdiyer.WebControls.Mvc; @model PagedList<EmInfo> <div id="EmInfo"> @Html.Partial("_EmInfoTable", Model) <div style="width:100%;overflow:auto"> @Ajax.Pager(Model).Options(o=>o.SetId("mypager").SetPageIndexParameterName("id").SetPageIndexBoxId("pib1").SetPagerItemTemplate("{0} ")).AjaxOptions(a=>a.SetUpdateTargetId("EmInfo").EnablePartialLoading()) <div style="float:right">跳转到第<select id="pib1"/>页</div> </div> </div> @section Scripts{@{Html.RegisterMvcPagerScriptResource();}}
回复:您好,您用哪个版本的MvcPager?出现什么问题?代码看起来没有问题,请确认您是否注册了MvcPager的客户端jquery脚本插件。谢谢!
2018-02-02 13:58 杨立旭
杨老师好, 昨天给您留过言,关于ajax分页被降级为url分页的问题。 经检查jquery插件已经注册,页面也没有任何的js错误,分页始终是url分页
回复:您好,没有代码无法知道是什么原因,请对照示例检查一下看是否是哪里设置有问题,一般来说,只要正确引用了jquery脚本库并注册了MvcPager脚本插件,而且页面没有脚本错误的话,是不会出现这种问题的。谢谢!
2018-02-01 10:16 杨立旭
杨老师您好! 我在使用ajax分页的时候,控件属性data-ajax=true,但是点击页码或者上一页下一页的时候还是使用了url打开了新页面,而不是刷新局部视图页,请问是什么原因呢。
回复:您好,出现这个问题最可能的原因是没有注册脚本插件或者页面上有脚本错误导致Ajax提交失败,请用F12开发者工具调试检查。谢谢!
2018-01-31 18:25 麻辣小龙虾
杨老师你好,gridview使用aspnetpager时候,gridview本身的排序功能是否无法使用?
回复:您好,可以的,排序和分页不冲突。谢谢!