Gyu*_*l R 12 c# asp.net-mvc pagedlist asp.net-mvc-partialview
如果有人可以提供以下建议,我将不胜感激:在我的视图中,我显示了项目列表:
@model PagedList.IPagedList<Items>
@using PagedList.Mvc;
@foreach (var item in Model)
{//displaying data}
Run Code Online (Sandbox Code Playgroud)
我的寻呼机看起来像这样:
@Html.PagedListPager(Model, page => Url.Action("Index", new { humanID = ViewBag.HumanID, page = page }),
new PagedListRenderOptions
{
LinkToFirstPageFormat = "<<",
LinkToPreviousPageFormat = "prev",
LinkToNextPageFormat = "next",
LinkToLastPageFormat = ">>",
})
Run Code Online (Sandbox Code Playgroud)
问题是,当我点击下一页时,它返回空白,没有我的_Layout.我不想一直重装_Layout.有没有办法使用Ajax.ActionLink for pager?所以我可以UpdateTargedId在局部视野内?
Dar*_*rov 29
您不能使用Ajax.ActionLink,但您可以AJAXify链接.将寻呼机放入<div>:
<div id="myPager">
@Html.PagedListPager(
Model,
page => Url.Action(
"Index",
new {
humanID = ViewBag.HumanID,
page = page
}
),
new PagedListRenderOptions
{
LinkToFirstPageFormat = "<<",
LinkToPreviousPageFormat = "prev",
LinkToNextPageFormat = "next",
LinkToLastPageFormat = ">>",
}
)
</div>
Run Code Online (Sandbox Code Playgroud)
然后AJAXify链接:
$(function() {
$('#myPager').on('click', 'a', function() {
$.ajax({
url: this.href,
type: 'GET',
cache: false,
success: function(result) {
$('#some_grid_container').html(result);
}
});
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
请注意,在success我使用的回调中$('#some_grid_container'),应该是整个表周围的一些包装div.
小智 8
还有一种方法可以使用PagedList实现Ajax.
@Html.PagedListPager((IPagedList)Model,
page => Url.Action("Index", new { humanID= ViewBag.HumanID, page }), PagedListRenderOptions.EnableUnobtrusiveAjaxReplacing(PagedListRenderOptions.PageNumbersOnly,
new AjaxOptions
{
InsertionMode = InsertionMode.Replace,
HttpMethod = "Get",
UpdateTargetId = "targetContainer"
}))
Run Code Online (Sandbox Code Playgroud)
这篇文章将发出ajax请求并用"targetContainer"替换内容.它为您提供了更多关于Ajax调用以及您希望如何显示它的选项.
| 归档时间: |
|
| 查看次数: |
34261 次 |
| 最近记录: |