Ich habe das Buch pro asp.net mvc2 framework gekauft. Ich bin auf Seite 122 hängen geblieben. Ich konnte nicht verstehen, warum es funktioniert.
Ich habe dem Autor bereits eine E-Mail geschickt, aber noch nichts zurückbekommen. Hier ist der Code, kann mir bitte jemand erklären, warum er funktioniert.
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());
}
}
diese PageLinks-Hilfsmethode benötigt 3 Parameter, aber später im Buch, wenn der Autor sie aufruft,
<%: Html.PageLinks(
new PagingInfo { CurrentPage = 2, TotalItems = 28, ItemsPerPage = 10 },
i => Url.Action("List", new{ page = i})
) %>
Autor nur 2 Parameter übergeben, HtmlHelper html fehlt, aber es funktioniert. Ich konnte nicht herausfinden, warum, bitte helfen Sie, danke.