qin*_*126 2 c# asp.net-mvc asp.net-mvc-2
我买了pro asp.net mvc2框架书.我在第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());
}
}
Run Code Online (Sandbox Code Playgroud)
这个PageLinks辅助方法需要3个参数,但是在本书后面,当作者调用它时,
<%: Html.PageLinks(
new PagingInfo { CurrentPage = 2, TotalItems = 28, ItemsPerPage = 10 },
i => Url.Action("List", new{ page = i})
) %>
Run Code Online (Sandbox Code Playgroud)
作者只传递了2个参数,HtmlHelper html丢失了,但是它有效.我无法弄清楚原因,请帮助,谢谢.