留言簿

我要留言
留言搜索

2017-05-20 11:43  XY

老师你好,我现在有一个按钮,他通过AJAX删除列表中的其中一条记录,删除成功后,我该怎么控制分页控件里边的数据更新?
回复:这个需要在MvcPager.js的jQuery插件中增加一个方法,现在已实现,但没更新上去,您也可以自己添加,代码如下:
ajaxReload:function(){
	    var context = this;
	    context.allowReload = true;
		context.allowCache=false;
	    var index = context.__getPageIndex(context.pageIndexName);
		context.__ajax(index===0?1:index, { type: this.httpMethod, data: [] });
	},
需要刷新当前页时,用Webdiyer.MvcPagers.getById("要刷新的MvcPager的id").ajaxReload();即可。注意:自己修改MvcPager.js后,需要手工添加对MvcPager.js的引用,而不能再用MvcPager的Html.RegisterMvcPagerScriptResource()方法了。谢谢!

2017-05-13 18:52  kismet

杨老师。我用了你的Ajax动态加载的例子。
现在已经可以正常AJAX加载分页了。。
=====后台
        public ActionResult UserView(int id, int page=1)
        {
            var list = userDal.UserType(id).ToPagedList(page,5);
            ViewData.Model = list;
            ViewBag.userType = "userpanel";
            return View("_User");
        }
======前台ajax加载第一页
                <li data-toggle="tab">
                    @Ajax.ActionLink("客户", "UserView", new { id = 1}, new AjaxOptions
           {
               UpdateTargetId = "context",
               InsertionMode = InsertionMode.Replace,
               HttpMethod = "POST"
           })
                </li>
========分页页面我直接用了这个
     $(function () {
        @{ Ajax.LoadMvcPagerScript(); }
    });

反正现在问题好像是解决了。。
回复:那个例子是可以正常运行的,能解决您的问题就好!

2017-05-13 14:22  kismet

接关于分页事件被反复绑定的问题!!

杨老师你看看我这样改,是不是就不会重复绑定了?

 if (page!=1)
                return PartialView("_User", list);
            return View("PageUser");
我没有判断是否ajax提交。。我是根本页码来判断的。。

这样是不是解决了?如果没有解决,那我现在遇到的问题就是重复邦定的问题。。。
回复:您好,这和分页事件是否被反复绑定没有任何关系,这样的方法只会导致Ajax分页时加载的数据不正确,加载了整个页面而不是分页的数据部分,谢谢!

2017-05-13 13:20  谢

这条语句var scriptUrl = (page ?? new Page()).ClientScript.GetWebResourceUrl(typeof(PagerHelper), "Webdiyer.WebControls.Mvc.MvcPager.min.js");,
Webdiyer.WebControls.Mvc.MvcPager.min.js这个JS函数应该放在哪个目录下,还有我把源码上下载下来,打开这个JS,在JS最后 提示“应为表达式”警告信息
回复:您好,使用MvcPager不需要源码,用nuget安装即可,脚本请用Html.RegisterMvcPagerScriptResource()方法来注册即会在运行时自动生成,请参考示例。谢谢!

2017-05-13 11:20  谢

老师你好,MvcPage 2.0 和最新的3.0,不支持MVC3么,因为公司还在用VS2010这个平台,您给提供下载的那个源码地址是3.0的,是否能用呢?
回复:您好,MvcPager 2.0版支持ASP.NET MVC 3.0,您可以用nuget来安装,nuget包网址是:https://www.nuget.org/packages/MvcPager.MVC3.CN/。谢谢!

2017-05-12 10:15  谢

老师你好,能否把MvcPager2.0的完整DEMO实例发一下,研究过程遇到好多问题。想仔细学习下,方便发下邮箱 84556335@qq.com  谢谢了
回复:您好,下载页面就有:http://www.webdiyer.com/mvcpager/downloads/,您可以自己下载。谢谢!

2017-05-11 18:23  kismet

首页上页下页尾页
这些可以隐藏吗?只显示页码!
回复:可以的,将PagerOptions的ShowFirstLast和ShowPrevNext属性值都设为false即可,请参考帮助文档。谢谢!

2017-05-11 17:53  kismet

@using Webdiyer.WebControls.Mvc;
@model PagedList<PwtsWeb.Models.UserInfo>


<div id="articles">
    @Html.Partial("_User", Model)
</div>

<script src="~/Scripts/MvcPager.js"></script>
@section scripts
{
    @{Html.RegisterMvcPagerScriptResource();}
}

这样就解决了。。。把MvcPager.js放到这里才可以正常加载
回复:您好,这样会导致我上一个问题回复中所说的分页事件被反复绑定的问题,暂时还没有好的解决办法。谢谢!

2017-05-10 23:01  kismet

ajax分页失败了。
我是一个标签页,然后Ajax加载标签页下的分页内容,并且带了参数到后台。这样Ajax分页就无效了。
public ActionResult UserView(int id, int page=1)
      {
            var list = userDal.UserType(id).ToPagedList(page,5);
            ViewData.Model = list;
            ViewBag.userType = "userpanel";
            if (Request.IsAjaxRequest())
                return PartialView("_User", list);
            return View("PageUser");
        }
========标签页
<ul class="nav nav-tabs">
                <li data-toggle="tab">
                    @Ajax.ActionLink("客户", "UserView", new { id = 1 }, new AjaxOptions
           {
               UpdateTargetId = "context",
               InsertionMode = InsertionMode.Replace,
               HttpMethod = "GET"
           })
                </li>

点第二页就跳转了
回复:您好,MvcPager只支持Ajax方式的分页,不支持通过Ajax初始化页面,通过Ajax加载会导致分页事件无法绑定,如果把MvcPager.js也通过Ajax加载,则会导致分页事件在分页时被反复绑定,也就是点击一次分页导致触发多次分页事件,谢谢!

2017-05-09 09:57  Shirley

您好,我用的是AspnetPager控件,第一次默認綁定之後是從第一頁開始顯示,當我查詢到其他頁數比如6的時候currentpageindex=6
 我輸入查詢條件,再次查詢,如果是分頁總數只有一頁就從第一頁開始,如果分頁大於1就會默認顯示最後一頁,如有兩頁,默認就是currentpageindex為2,如果是分頁總數
 比較多的,默認就顯示的currentpageindex為6 ,就相當於分頁並不是每次查詢從第一頁開始。
 這個情況該如何處理呀?請您指教,謝謝!
回复:您好,查询后设置AspNetPager的CurrentPageIndex=1即可。谢谢!
;