留言簿

我要留言
留言搜索

2014-08-01 19:14  paaple

杨哥,发现包在<asp:UpdatePanel......中的分页控件,在分页时会触发onbeforeunload事件,但这与实际的逻辑是冲突的。
的网上也有同样问题的朋友,见网址http://q.cnblogs.com/q/19767/,按照网址上的方法把源码href改成onclick并且增加一个href='#'的属性不知这样是否可以,是否会引起其它的问题,请指教了
 writer.AddAttribute("onclick", GetHrefString(pageIndex), false);
writer.AddAttribute("href", "#");
回复:您好,这觉得这应该属于UpdatePanel的问题,它的作用本来就是把普通的超链接转换为Ajax请求,而不能要求带有超链接的控件把所有超链接都用onclick这样的javascript脚本来代替,如果您的页面中绑定了onbeforeunload事件而不希望在UpdatePanel中的AspNetPager分页控件也调用该事件处理程序,可以看看stackoverflow上的这个解决办法:http://stackoverflow.com/questions/1137238/asp-net-ajax-suppress-onbeforeunload-for-ajax-requests-from-updatepanel。谢谢!

2014-08-01 16:04  eternal_hu

杨老师,您好
我用的mvcpager控件,按照您的示例AjaxPartialLoading做ajax分页,点击每一页后越来越慢(应该就是您所说的js多次注册了),也看过一些你回答的留言,但我还是没有解决到该问题
我看了下你的示例,与我的代码不同的地方在于
示例:@section Scripts{@{Html.RegisterMvcPagerScriptResource();}}
我的代码:@{Html.RegisterMvcPagerScriptResource();}

另:请教一下
    @RenderSection("Scripts",false)
@section Scripts{
    @RenderSection("Scripts",false)
}
@section Scripts{@{Html.RegisterMvcPagerScriptResource();}}

这个是什么意思呢? 谢谢
回复:您好,请注意不能在通过ajax加载的页面中注册MvcPager的脚本库,这样就会导致您说的问题,脚本注册应该在父页面中,至于您问到的section的含义,在这里不太好解释清楚,建议您看下ScottGu的博客原文,有详细的说明:http://weblogs.asp.net/scottgu/asp-net-mvc-3-layouts-and-sections-with-razor。谢谢!

2014-08-01 15:07  尹贵龙

我用你的官方示例也同样遇到这个问题只要首次加载页面的时候是有参数的,就会在第一点击分页中的第二页的时候就会重新加载页面,而不是触发Ajax分页
回复:您好,不知道您说的是哪个例子?请给出示例页面url以及重现您说的问题的步骤。谢谢!

2014-08-01 14:52  尹贵龙

杨老师我这里遇到一个问题:
首次加载在页面时比如地址是
/Content?status=1,
然后在Content页面上点击第二页(status=1)这时分页是正常的,
然后重新选择其status值(比如说status=2)查询后,
第一页数据正常,此时点击第二页,查看网络请求会发现地址为/Content?status=1&status=2(注意两个重复的参数)
这样导致第二页数据是status=1的第二页数据,而不是status=2的第二页数据
回复:您好,您是如何重新设置status的值的?您确认url中的两个status的值是MvcPager生成的而不是您的代码问题导致的吗?谢谢!

2014-08-01 11:12  jackie

杨老师,您好。分页控件的存储过程都是针对某个表的,能够在分页示例中放共通分页存储过程(where条件防SQL注入),在项目开发中可以提高生产性,谢谢。
回复:您好,网上就有这样的存储过程,但有利必有弊,这种动态执行sql语句的存储过程失去了存储过程应有的预编译等带来的执行效率,同时也提高了使用了复杂性。谢谢!

2014-08-01 09:05  孙剑锋

杨老师,您好,我EF使用sqlite数据库进行分页的时候,排序有问题,不能按照时间降序排列,请问这个是啥问题
回复:您好,很抱歉,我没用过sqlite,也没看到您的代码,所以无法知道是什么问题。谢谢!

2014-08-01 02:18  归途

杨老师你好,我使用您的mvcpager中ajax分页,现在需要在自己的js函数里刷新列表,我也看了你的jqeury插件,但仍然不知道如何调用。能给个示例么?谢谢。
回复:您好,没有提供这样的接口或方法,不知道您这样做的意义何在?如果您要重新获取并显示分页分页数据,重新加载当前页即可,MvcPager会根据当前url中的hash值自动加载相应的数据。谢谢!

2014-07-30 20:09  高卫明

杨老师,asp.net MVC4 中使用Html.Pager(TotalItemCount, PageSize, CurrentPageIndex, "Action", "Controller", new PagerOptions { PageIndexParameterName = "Page" }, "", new { Name=“name”},null)
运行总是报 参数item不能为null
回复:您好,这个扩展方法中并没有什么item参数,您能确认是这段代码的问题吗?请断点调试看能否显示出更详细的错误信息和相关代码。谢谢!

2014-07-30 10:50  cnbank

您好,我遇到个类似http://bbs.csdn.net/topics/390688766这个的问题,大概原因是因为在调用分部视图时中间走了一层html.action(),并且有参数。然后分页链接里面就会多一个类似4bb794e5-9be8-40f1-b9b1-4e4f5746b66c=System.Web.Mvc.DictionaryValueProvider%601%5BSystem.Object%5D的串儿,不知道具体原因是什么。

PS:如果没有参数貌似就不会生成这一串,不过分页能正常分页。此功能为mvcpager ajax请求。
回复:您好,这个问题是您使用了错误的重载方法而导致的,请看我对您说的CSDN那个帖子的回复,请在使用MvcPager时,注意每个参数代表的意义和类型,在您刚说的那个问题中,本应该是RouteValueDictionary routeValues的参数被传入了一个PagerOptions对象,这就导致PagerOptions的值被当成路由值加入到路由中,因此出现您说的奇怪的url的问题。谢谢!

2014-07-29 15:12  豆豆

杨老师,两个同样的代码,一个能无刷新分页,记录搜索条件,一个刷新分页,搜索条件全没了,为什么会出现这种情况?
回复:您好,您的问题描述不是很清楚,不知道您说的搜索条件保存在什么地方?如果您指的是文本框或下拉框的值,那么刷新分页相当于打开一个新页面,分页前文本框或下拉框中的值在分页后肯定会丢失,您需要在分页后通过url参数中的值等来获取并重新设置状态。谢谢!
;