我買了親asp.net mvc2框架書。我被困在第122頁。我無法理解它爲什麼有效。請解釋爲什麼這個c#擴展方法工作
我已經通過電子郵件發送作者,沒有收到任何迴應。這裏是代碼,有人可以向我解釋爲什麼它可以工作。
public static class PagingHelpers
{
public static MvcHtmlString PageLinks(this HtmlHelper html, PagingInfo pagingInfo, Func<int, string> pageUrl)
{
StringBuilder result = new StringBuilder();
for (int i = 1; i <= pagingInfo.TotalPages; i++)
{
TagBuilder tag = new TagBuilder("a");
tag.MergeAttribute("href", pageUrl(i));
tag.InnerHtml = i.ToString();
if (i == pagingInfo.CurrentPage)
tag.AddCssClass("selected");
result.AppendLine(tag.ToString());
}
return MvcHtmlString.Create(result.ToString());
}
}
這種PageLinks helper方法需要3個參數,但後來在書中,當筆者把它稱爲,
<%: Html.PageLinks(
new PagingInfo { CurrentPage = 2, TotalItems = 28, ItemsPerPage = 10 },
i => Url.Action("List", new{ page = i})
) %>
筆者只在2個參數傳遞,的HtmlHelper缺少HTML,但羅納爾多,也很想工作。我無法弄清楚爲什麼,請幫助,謝謝。