问题描述
首先按照官方的说明需要使用@{Html.RegisterMvcPagerScriptResource();}这个我在默认layout里面已经添加了,如果不添加将会出现点第二页时报找不到链接的错。在上述以前添加的情况下,发现部分页面是正常的,部分页面是不正常的,检查cshtml文件都是一样的配置。以下就是我的网页各个view目录,花红线的就是有问题的几个。#regionHome&Search////GET:/User/[Authorize]publicActionResultIndex(Guid?DepartmentID,stringsearchText,intp=1){LoadDepartments();varusers=uBll.GetUsers(DepartmentID,p,10,searchText);if(Request.IsAjaxRequest()){returnPartialView("_PartialUserList",users);}returnView(users);}///<summary>///用户列表///</summary>///<paramname="searchText"></param>///<paramname="p"></param>///<returns></returns>[HttpPost]publicActionResultAjaxSearchUserList(Guid?DepartmentID,stringsearchText,intp=1){LoadDepartments();varusers=uBll.GetUsers(DepartmentID,p,10,searchText);if(Request.IsAjaxRequest()){returnPartialView("_PartialUserList",users);}returnView(users);}#endregion
<divclass="clpd-5bg-1bk-gray">@using(Ajax.BeginForm("Index","User",newRouteValueDictionary{{"id",""}},newAjaxOptions{UpdateTargetId="users",InsertionMode=InsertionMode.Replace},newRouteValueDictionary{{"id","searchForm"},{"class",""}})){<divclass="text-l">部门名称:<inputid="DeptSel"type="text"class="input-text"readonlyvalue=""onclick="showMenu();"style="width:212px;"/>搜索条件:<inputtype="text"class="input-text"style="width:250px"placeholder="输入员工工号、姓名、登录名"id="searchText"name="searchText"><buttontype="submit"class="btnbtn-success"id="btnSearch"name=""><iclass="Hui-iconfont"></i>查询</button><divid="menuContent"class="menuContent"style="display:none;position:absolute;"><ulid="treeDepts"class="ztree"style="margin-top:0;width:200px;"></ul></div><inputtype="text"class="input-text"style="display:none"id="DepartmentID"name="DepartmentID"></div>}</div><divid="users">@Html.Partial("_PartialUserList",Model)</div>
<divstyle="float:left;width:50%">共@Model.TotalPageCount页@Model.TotalItemCount条记录,当前为第@Model.CurrentPageIndex页</div>@Ajax.Pager(Model,newPagerOptions{PageIndexParameterName="p",HtmlAttributes=newDictionary<string,object>{{"style","float:right"}},PagerItemTemplate=" {0}"},newMvcAjaxOptions{UpdateTargetId="users",HttpMethod="Post",DataFormId="searchForm",EnableHistorySupport=false})</div>
以上是我的mvcpager的cshtml的设置,以及controller。我发现对于有些页面采用搜索函数对应的方法,不会出现上述问题。有的页面必须把AjaxSearchUserList改为index才可以解决上述问题。正是为什么需要这样,我搞不明白。感觉两者代码并没有什么区别,为什么有的可以,有的不可以。问题重现:这是查询的第一页。这是点击第二页时变成的界面。其实这是默认第一次打开的信息。
解决方案
本帖最后由 love_007abc 于 2016-05-30 21:10:05 编辑
解决方案二:
不清楚,我这里貌似没这个问题。是不是数据查询的问题?调试看看,传递的参数,是第几页的?