Я купил pro asp.net mvc2 framework book. Я застрял на странице 122. Я не мог понять, почему это работает.
Я уже написал автору по электронной почте, пока ничего не получил. вот код, может кто-нибудь объяснить мне, почему он работает.
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 параметра, html HtmlHelper отсутствует, но все равно работает. Я не могу понять, почему, пожалуйста, помогите, спасибо.