本文整理汇总了C#中QueryModel.Alter方法的典型用法代码示例。如果您正苦于以下问题:C# QueryModel.Alter方法的具体用法?C# QueryModel.Alter怎么用?C# QueryModel.Alter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QueryModel
的用法示例。
在下文中一共展示了QueryModel.Alter方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Pager
public MvcHtmlString Pager(QueryModel pagingDto, int allCount, string containerName)
{
String toFirst;
String toLast;
var currentPage = pagingDto.Skip / pagingDto.Take;
var lastPage = allCount / pagingDto.Take;
if (currentPage > 0)
{
var toFirstLink = new AjaxHelper(_html.ViewContext, _html.ViewDataContainer)
.ActionLink("<<", (string)_html.ViewContext.RouteData.Values["action"], (string)_html.ViewContext.RouteData.Values["controller"], pagingDto.Alter(skip: 0), new AjaxOptions
{
HttpMethod = "GET",
UpdateTargetId = containerName,
InsertionMode = InsertionMode.Replace,
OnSuccess = "lopor.reloadGrid()"
});
var toPrevious = new AjaxHelper(_html.ViewContext, _html.ViewDataContainer)
.ActionLink("<", (string)_html.ViewContext.RouteData.Values["action"],
(string)_html.ViewContext.RouteData.Values["controller"],
pagingDto.Alter(skip: pagingDto.Skip - pagingDto.Take), new AjaxOptions
{
HttpMethod = "GET",
UpdateTargetId = containerName,
InsertionMode = InsertionMode.Replace,
OnSuccess = "lopor.reloadGrid()"
});
toFirst = String.Format("<li>{0}</li><li>{1}</li>", toFirstLink.ToHtmlString(), toPrevious.ToHtmlString());
}
else
{
toFirst = String.Empty;
}
if (currentPage < lastPage)
{
var toLastLink = new AjaxHelper(_html.ViewContext, _html.ViewDataContainer).ActionLink(">>", (string)_html.ViewContext.RouteData.Values["action"],
(string)_html.ViewContext.RouteData.Values["controller"], pagingDto.Alter(skip: (allCount / pagingDto.Take) * pagingDto.Take), new AjaxOptions
{
HttpMethod = "GET",
UpdateTargetId = containerName,
InsertionMode = InsertionMode.Replace,
OnSuccess = "lopor.reloadGrid()"
});
var toNext = new AjaxHelper(_html.ViewContext, _html.ViewDataContainer).ActionLink(">",
(string)_html.ViewContext.RouteData.Values["action"],
(string)_html.ViewContext.RouteData.Values["controller"],
pagingDto.Alter(skip: (pagingDto.Skip + pagingDto.Take)), new AjaxOptions()
{
HttpMethod = "GET",
UpdateTargetId = containerName,
InsertionMode = InsertionMode.Replace,
OnSuccess = "lopor.reloadGrid()"
});
toLast = String.Format("<li>{0}</li><li>{1}</li>", toNext.ToHtmlString(), toLastLink.ToHtmlString());
}
else
{
toLast = String.Empty;
}
var sb = new StringBuilder();
const string format = "<li class=\"{0}\">{1}</li>";
for (int i = currentPage - 5; i < currentPage + 5; i++)
{
if (i < 0)
continue;
if (i > lastPage)
break;
var @class = currentPage == i ? "active" : String.Empty;
var pageLink = new AjaxHelper(_html.ViewContext, _html.ViewDataContainer).ActionLink(String.Format("{0}", i + 1),
(string)_html.ViewContext.RouteData.Values["action"], (string)_html.ViewContext.RouteData.Values["controller"], pagingDto.Alter(skip: i * pagingDto.Take), new AjaxOptions
{
HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = containerName,
OnSuccess = "lopor.reloadGrid()"
});
sb.AppendFormat(format, @class, pageLink.ToHtmlString());
}
return new MvcHtmlString(PagerMain(toFirst, sb.ToString(), toLast));
}