私はpro asp.net mvc2 framework bookを購入しました。私は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ヘルパーメソッドは、3つのパラメータを必要とし、それ以降の本の中で、著者はそれを呼び出すとき、
<%: Html.PageLinks(
new PagingInfo { CurrentPage = 2, TotalItems = 28, ItemsPerPage = 10 },
i => Url.Action("List", new{ page = i})
) %>
著者はわずか2つのパラメータに渡された、のHtmlHelper HTMLが欠落しているが、それはsitll動作します。なぜ、助けてください、ありがとう、私は理解できませんでした。