留言簿

我要留言
留言搜索

2014-12-24 17:10  xyfy123

你好,你的demo地址http://www.webdiyer.com/mvcpager/demo/contentpaging/里的后台controller里有个model是PagedArticle,但是随后的Model却是Article

这个是否有错漏?
回复:您好,非常感谢提醒,示例中的代码都是手工加上的,有遗漏是难免的,不过我记得前不久刚更新的,也不知怎么回事还不对,已经重新加上了,不过由于缓存的问题可能过一段时间才会显示。如果您要查看更准确的源代码,建议下载示例项目,示例项目中的代码都是经过测试确认没有问题的。谢谢!

2014-12-22 18:29  孙凯

杨老师你好

我自己看了你的Demo,没有发现我现在出现问题的例子。

1:现在分页是一览数据的页面。点击一栏中的一条数据链接,跳转到明细数据页面。
2:跳转到明细页面的时候,我会把检索条件保存在session中。
3:从明细页面返回一览页面,我会把session中的值取出来,赋回到model中。

如下:
;
model.ConTypeIDSreach = HttpContext.Session["selectTemp"] ;
model.pageIndex = 2;
return View(model);

*注 HttpContext.Session["selectTemp"]  = 1;


页面上的"ConTypeIDSreach "正确变成1了,页面也是第二页,这个时候我点击第三页,代码调试查看model里面的"ConTypeIDSreach "是空。只有再次点击检索(触发一次submit),model里面的值才能够正常反映成页面的值。

应该不是分页控件的问题,我不知道controller里面给model赋值了之后,如何写代码才能够让页面的表单检索数据保持成我后台在controller里面设置的值?

麻烦了,非常感谢。
回复:您好,不知道您说的是什么例子?如果您只是想从明细页返回时维持原来的页面状态,包括搜索条件,那么建议用普通路由分页并用get方法提交查询表单,这样所有页面参数都在url中,返回时只要跳转到正确的url即可,如果您想用Ajax实现,那是不行的,因为Ajax分页模式下,查询条件保存在js变量中,跳转到明细页面后,js变量就不存在了,再返回也不可能恢复,所以先前的查询分页就失效了。谢谢!

2014-12-22 16:29  丸子

请问一下,mvcpager 如何使用ajax实现 添加,修改,删除,无刷新?我现在查看你demo只有实现分页无刷新。 能否给一个结合了,添加,删除,修改,查询的例子?
回复:您好,很抱歉,没有这样的例子,我的例子中也从没用过这种例子,因为我也很讨厌这样的实现方式,要写很多脚本,花很多时间调试,其实上添加和修改的例子很简单,在弹出的modal对话框中实现即可,但添加或修改的记录要立即显示在分页结果中就需要刷新页面,因为MvcPager没有提供刷新或重新加载数据的方法,删除功能也是一样的,可以在每条记录后加一个复选框,点击删除按钮后删除选中的记录,然后用location.reload()刷新当前页,如果您对javascript比较熟,也可以研究一下MvcPager的Ajax分页机制,调用它的方法来实现重新加载数据而不用刷新页面。谢谢!

2014-12-22 15:39  许

杨老师,早上跟你咨询过MVC分页的时候,选择了下拉数值后点击跳转没有反应的问题,你和我说要修改路由设置里面把页索引改为字符串形式,可是我改了好像也没有反应。下面是我路由的设置代码
  routes.MapRoute(
               "ViewArticleList", // 路由名称
               "Home/ViewArticleList/{id}/{pageIndex}", // 带有参数的 URL
                 new { controller = "Home", action = "ViewArticleList", id = "{0}", pageIndex =“{1}" }
           );
能不能帮我看看是什么问题呢?
回复:不是字符串形式,是不要在路由定义中使用约束将页索引参数约束为数值类型,从您的定义中没看出有这样的约束,那应该不是这个问题引起的,您需要查看一下分页后生成的页面源代码,要根据生成的源代码才能判断是什么问题。谢谢!

2014-12-22 15:23  许祥

杨老师你好

我希望分页的时候把检索表单里的检索条件提交到后台,使用的是MvcAjaxOptions 的DataFormId 

生成的html属性是 data-ajax-dataformid="#searchList" 。

做这样的操作  选检索条件 -> 检索提交 -> 点分页  这样是ok的,表单数据和分页数据都提交到后台

但做这样的操作   选检索条件 ->  点分页  ->  这样他并没有把叫检索条件提交到后台

我是想把检索条件存session的,这样返回检索页面 把session中的检索条件重新赋值给表单控件

但点击分页,并没有把 检索条件提交到后台

请指教
回复:您好,是的,一开始也是这么设计的,即每次点击分页都从表单中获取查询条件,后来觉得这样处理不妥,才改为在表单提交后将表单的值保存在js变量中,分页时从该变量中获取查询条件而不是直接从表单中获取,所以如果不提交表单,查询条件是不会更新的。谢谢!

2014-12-22 10:38  许

杨老师你好,我在使用MVC分页的时候灰到个问题,点击页码或是上一页下一页的时候都没有问题,但是我在选择下拉框的列表再点击“跳转”的时候没有任何反应,程序没有跳转到CONTROLLER,firebug也没有任何提示。下面是我的分布代码
  @PagerHelper.Pager(Ajax, Model, new PagerOptions{PageIndexParameterName = "pageIndex",ShowPageIndexBox = true,
               PageIndexBoxType = PageIndexBoxType.DropDownList,ShowGoButton = true}, new MvcAjaxOptions{UpdateTargetId = "Id"})
回复:您好,这个问题应该是MvcPager的一个小bug导致的,在路由定义中如果将页索引参数约束为数值类型的话,它就无法生成下拉框跳转链接,也就出现您说的问题,解决办法是在路由定义中不要对页索引参数使用约束,因为生成跳转链接的时候这个参数类型是string而不是数值。谢谢!

2014-12-19 16:39  AJAX

您好我的问题我查出来了。但我这种环镜要如何解决呢
我的环镜是这样的index视图加入了
如下
<div id="Content">
 @Html.Partial("_Searchposition",  TempData["model"] );
</div>
而我的搜索提交到Search ActionResult里面。
@using (Ajax.BeginForm("Search", new RouteValueDictionary { { "id", "" } }, new AjaxOptions { UpdateTargetId = "Content", InsertionMode = InsertionMode.Replace }, new RouteValueDictionary { { "id", "searchForm" } }))
            {
....
所以搜索数据是正常..

分页就不正常。如何把
[HttpPost]
ActionResult Search 
改为
[HttpPost]
ActionResult Index
就正常了.

如果把Index视图
<div id="Content">
 @Html.Partial("_Searchposition",  TempData["model"] );
//把这个分布视图去掉也不正常。这个在ActionResult 里面有返回这个分布式的。不如有什么办法我需要去掉这个因为影响布局了。
</div>

针对上述有什么办法解决,搜索时跨ActionResult 调用。分页也跨ActionResult 来调用分页数据呢?同时在Index视图里面去掉分布视图,由ActionResult 搜索出来返回分布视图再分页如何解决呢?
回复:您好,很抱歉我看了好几遍也没理解您的意思,如果您不想用PartialView,可以使用MvcPager的Ajax局部加载功能来实现只用一个视图就可以分页的功能,请参考一下示例。另外如果您要使用Ajax搜索分页功能,那么搜索和分页都必须指向相同的Action,否则就无法正常运行。谢谢!

2014-12-19 16:23  kk

涛哥,那个AspNetPager的无刷新的不太懂啊,能给个不直接用控件绑定数据源的例子吗?
回复:您好,AspNetPager无刷新分页功能需要使用UpdatePanel,另外不太明白您说的“不直接用控件绑定数据源”是什么意思?AspNetPager本身和数据源是没有直接关系的。谢谢!

2014-12-19 13:19  x-law

用ajax分页时,每次都会给页面加一个#pageindex=6.
像这样
http://localhost:2215/news-1#pageindex=6
ajax分页能保持url不变么.
回复:您好,url本身并没有改变,改变的是只是hash值而已,这个值是为了保持和恢复分页状态的,其实有没有这个hash值都不会影响正常的分页,但是象“Ajax初始化数据”这样的例子就无法正常运行了,MvcPager没有提供去掉hash值的方法或选项,所以不能去除。谢谢!

2014-12-19 12:06  AJAX

您好
昨天2014-12-18 21:28 给你发的问题,就是分页不能POST进ActionResult Search,在这里打断点不会进来不知为啥。还麻烦您再帮忙看一下。
;