当前位置: 首页 > 编程语言 > C#

在分部视图中使用分页,asp.netmvc分享

时间:2023-04-10 15:04:19 C#

项目列表:@modelPagedList.IPagedList@usingPagedList.Mvc;@foreach(variteminModel){//displayingdata}我的寻呼机看起来像这样:@Html.PagedListPager(Model,page=>Url.Action("Index",new{humanID=ViewBag.HumanID,page=page}),newPagedListRenderOptions{LinkToFirstPageFormat="<>",})问题是当我点击下一页时,它返回空白而没有我的_Layout。我不想一直重新加载_Layout。有没有办法使用Ajax.ActionLink的寻呼机?这样我就可以在局部视图中更新目标ID?您不能使用Ajax.ActionLink,但可以使用AJAXify链接。将寻呼机放入:@Html.PagedListPager(Model,page=>Url.Action("Index",new{humanID=ViewBag.HumanID,page=page}),newPagedListRenderOptions{LinkToFirstPageFormat=">",})然后AJAXify链接:$(function(){$('#myPager').on('click','a',function(){$.ajax({url:this.href,type:'GET',cache:false,成功:function(result){$('#some_grid_container').html(result);}});returnfalse;});});请注意,在成功回调中我使用了$('#some_grid_container'),它应该是整个表周围的一些包装div。仍然有一种方法可以使用PagedList实现Ajax。@Html.PagedListPager((IPagedList)Model,page=>Url.Action("Index",new{humanID=ViewBag.HumanID,page}),PagedListRenderOptions.EnableUnobtrusiveAjaxReplacing(PagedListRenderOptions.PageNumbersOnly,newAjaxOptions{InsertionMode.Replacement,InsertionMode=插入HttpMethod="Get",UpdateTargetId="targetContainer"}))这篇文章将发出ajax请求并用“targetContainer”替换内容。它为您提供了有关Ajax调用的更多选项以及您希望如何显示它。我的项目设置:带区域的MVC4、MvcPaging(PagedList)。此答案适用于该设置。简短回答:为寻呼机配置AjaxOptions时,确保设置区域(正确){area="Admin",controller="MyController",action="Index"}长答案:PagedList示例展示了如何进入一个区域并在该区域内进行分页,但它们没有展示如何使用部分视图进行分页。示例项目具有以下代码(取自_AjaxEmployeeList.cshtml):},newAjaxOptions{UpdateTargetId="grid-list",OnBegin="beginPaging",OnSuccess="successPaging",OnFailure="failurePaging"},new{controller="Home",action="Index",employee_name=ViewData["employee_name"]}))PagedList示例在foreach中使用内联表,因此您不会遇到此设置的任何问题/冲突。@usingMvcPaging@modelIPagedList@foreach(variteminModel){@item.ID}将此表重构为局部视图(封装逻辑(并处理分页))时,我开始收到“未找到局部视图'_MyPartialView'或者没有视图引擎支持搜索的地方"@usingMvcPaging@usingMyProject.Models@modelIPagedListforeach(variteminModel){@Html.Partial("_Detail",item)}对Partial()调用的更改,包括:修改路由的处理方式,但不起作用。如何在MVC中设置默认路由(到某个区域)以完全限定局部视图的路径,这确实有效,但很丑陋。mvc3-在不同领域使用局部视图对局部视图加载的研究向我展示了MVC引擎如何处理请求。这让我回到修改Ajax寻呼机,为每个请求发送区域。我尝试使用与Html.ActionLink类似的语法。(这没有/不起作用)@Html.ActionLink("Admin","Index","Admin",new{area="Admin"},null)这没有用,所以其他一切都失败了,我反映设置控制器的模式,这导致我们:newAjaxOptions{UpdateTargetId="grid-list",OnBegin="beginPaging",OnSuccess="successPaging",OnFailure="failurePaging"},new{area="Admin",controller="MyController",action="Index"}我的个人课程:C#!=剃刀!=Javascript。每个人做事的方式都略有不同,您必须确保知道您的写作台词使用的是哪种语言。以上就是C#学习教程:在局部视图中使用分页,asp.netmvc分享的全部内容,如果对你有用还需要进一步了解C#学习教程,希望大家多多关注给它。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: