|
Rank: Administration Groups: Administrators, Registered
Joined: 9/3/2009(UTC) Posts: 1,555 Location: Xiamen China
|
How to paging content data using the content query api.Code:
@{
var pageIndex = 1;
if(!string.IsNullOrEmpty(Page_Context.Current.PageRequestContext.AllQueryString["PageIndex"])) {
pageIndex = int.Parse(Page_Context.Current.PageRequestContext.AllQueryString["PageIndex"]);
}
var pageSize =2;
var query = ContentHelper.NewTextFolderObject("Article")
.CreateQuery();
if(!string.IsNullOrEmpty(Page_Context.Current.PageRequestContext.AllQueryString["UserKey"])) {
query = query.WhereCategory(ContentHelper
.NewTextFolderObject("Category").CreateQuery().WhereEquals("UserKey",Page_Context.Current.PageRequestContext.AllQueryString["UserKey"]));
}
var pageData = query.Skip((pageIndex - 1) * pageSize).Take(pageSize);
dynamic pagedList = new Kooboo.CMS.Sites.DataRule.DataRulePagedList(pageData, pageIndex, pageSize, query.Count()){PageIndexParameterName = "PageIndex"};
}
foreach (var item in pagedList){
<div class="block" @ViewHelper.Edit(item)>
<h4 class="title"><a href='@Url.FrontUrl().PageUrl("Articles/detail", new { UserKey = item.UserKey})'@ViewHelper.Edit(item,"Title") >@item.Title</a></h4>
<span class="date">@ViewHelper.DateTimeToString(item.UtcCreationDate,"yyyy-MM-dd")</span>
<p @ViewHelper.Edit(item,"Summary")>@Html.Raw(item.Summary)</p>
</div>
}
{
var pageOption = new PagerOptions {
NextPageText = "Next »",
PrevPageText = "« Previous",
CssClass="pagination",
CurrentPagerItemWrapperFormatString="<span class=\"current\">{0}</span>",
NavigationPagerItemWrapperFormatString="<span class=\"pagenavigation\">{0}</span>"
};
}
@Html.FrontHtml().Pager(pagedList,pageOption)
Regards, Jifeng Huang
Kooboo Team
Microsoft ASP.NET MVP
|
|
1 user thanked jifeng for this useful post.
|
|