url.action and @html.PageLinks lines causing my System.OutOfMemoryException
我是一名有抱负的初级开发人员,目前正在关注 Adam Freeman 的 PRO ASP.NET MVC 5 书籍。当我创建自己的模板应用程序版本时,我非常享受遵循示例和学习的过程。然而,我最近遇到了一个非常烦人的问题,我尽力鼓励自己不要在 StackOverflow 上问它,因为它可能已经被问到了。
我目前正在阅读本书的第 7 章,创建一家体育用品商店。我陷入困境的主要部分是找出为什么每当我在我的 Div 中使用 @Html.PageLinks 时都会得到 System.OutOfMemoryException。每当我注释掉这些 Pagelinks 行时,该应用程序就像一个魅力。我尝试关注 Microsoft 提供的所有解决方案以及其他类似的论坛问题,例如此 html 帮助链接、此其他链接和 Microsoft 官方页面 (support.microsoft.com/en-us/kb/820108)。我一遍又一遍地检查我的代码,以检查它是否与书中的相同。如果这个特定问题已经得到解答,我很抱歉,但我找不到可以帮助我的东西。
List.cshtml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | @model TheKicks.WebUI.Models.ProductsListViewModel @using TheKicks.WebUI.HtmlHelpers; @using TheKicks.WebUI.Models @{ ViewBag.Title ="Products"; } @foreach (var p in Model.Products) { @Html.Partial("ProductSummary", p) } @Html.PageLinks(Model.PagingInfo, x => Url.Action("List", new { page = x, category = Model.CurrentCategory })) @Html.PageLinks(Model.P??agingInfo, x => Url.Action("List", new { page = x })) |
PagingHelpers.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using System.Web.Mvc; using TheKicks.WebUI.Models; namespace TheKicks.WebUI.HtmlHelpers { 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; 1 <= pagingInfo.TotalPages; i++) { TagBuilder tag = new TagBuilder("a"); tag.MergeAttribute("href", pageUrl(i)); tag.InnerHtml = i.ToString(); if(i == pagingInfo.CurrentPage) { tag.AddCssClass("selected"); tag.AddCssClass("btn-primary"); } tag.AddCssClass("btn btn-default"); result.Append(tag.ToString()); } return MvcHtmlString.Create(result.ToString()); } } } |
如果我错过了什么,我必须为给您带来的不便深表歉意,因为我可能没有找对地方。我有一个大问题寻求帮助,这是我第一次。
谢谢