【发布时间】:2014-01-24 03:36:06
【问题描述】:
@Html.PageLinks(Model.PagingInfo, x => Url.Action("List", new { page = x }))
我有这个想法,我想再添加 2 个属性(所以我向 Func 委托添加了更多参数...):
@Html.PageLinks(Model.PagingInfo, x => Url.Action("List",
new { page = x,
sort = Request.QueryString["sort"],
desc = Request.QueryString["desc"] }))
但是当我再添加 2 个属性时,它不起作用......我在这里不明白什么?
我有以下 html 助手:
public static MvcHtmlString PageLinks(this HtmlHelper html,
PagingInfo pagingInfo, Func<int, string, string, string> pageUrl)
{
StringBuilder result = new StringBuilder();
for (int i = 1; i <= pagingInfo.TotalPages; i++)
{
TagBuilder liTag = new TagBuilder("li");
TagBuilder aTag = new TagBuilder("a");
aTag.MergeAttribute("href", pageUrl(i,
pagingInfo.Sort, pagingInfo.Desc.ToString())); // pageUrl delegate is here helloooo
aTag.InnerHtml = i.ToString();
if (i == pagingInfo.CurrentPage)
liTag.AddCssClass("active");
liTag.InnerHtml = aTag.ToString();
result.Append(liTag.ToString());
}
return MvcHtmlString.Create(result.ToString());
}
P.S 我的控制器是这样的:
public ViewResult List(int page = 1, string sort = "Name", bool desc = false)
{...
【问题讨论】:
标签: c# razor html-helper asp.net-mvc-5