Я читаю книгу Адама Фримена "Pro ASP.NET Core MVC 2" и слежу за проектом книги SportsStore.У меня проблема с помощниками тегов, когда я запускаю проект, навигационные ссылки внизу не работают, вместо этого я вижу помощник тегов в источнике страницы:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>SportsStore V2</title>
</head>
<body>
<div>
<div>
<h3>Kayak</h3>
A boat for one person
<h4>275,00 €</h4>
</div>
<div>
<h3>Lifejacket</h3>
Protective and fashionable
<h4>48,95 €</h4>
</div>
<div>
<h3>Soccer Ball</h3>
FIFA-approved size and weight
<h4>19,50 €</h4>
</div>
<div>
<h3>Corner Flags</h3>
Give your playing field a professional touch
<h4>34,95 €</h4>
</div>
<div page-model="SportsStoreApp.Models.ViewModels.PagingInfo" page-action="List"></div>
</div>
</body>
</html>
Код List.cshtml
@model ProductListViewModel
@foreach (var p in Model.Products)
{
<div>
<h3>@p.Name</h3>
@p.Description
<h4>@p.Price.ToString("c")</h4>
</div>
}
<div page-model="@Model.PagingInfo" page-action="List"></div>
Код класса PageLinkTagHelper
namespace SportsStoreApp.Infrastructure
{
[HtmlTargetElement("div", Attributes = "page-model")]
public class PageLinkTagHelper : TagHelper
{
private IUrlHelperFactory urlHelperFactory;
public PageLinkTagHelper(IUrlHelperFactory helperFactory)
{
urlHelperFactory = helperFactory;
}
[ViewContext]
[HtmlAttributeNotBound]
public ViewContext ViewContext { get; set; }
public PagingInfo PageModel { get; set; }
public string PageAction { get; set; }
public override void Process(TagHelperContext context, TagHelperOutput output)
{
IUrlHelper urlHelper = urlHelperFactory.GetUrlHelper(ViewContext);
TagBuilder result = new TagBuilder("div");
for (int i = 1; i <= PageModel.TotalPages; i++)
{
TagBuilder tag = new TagBuilder("a");
tag.Attributes["href"] = urlHelper.Action(PageAction, new {productPage = i});
tag.InnerHtml.Append(i.ToString());
result.InnerHtml.AppendHtml(tag);
}
output.Content.AppendHtml(result.InnerHtml);
}
}
}
Поскольку у меня нет опыта ни в ASP.NET, ни в MVC, я не понимаю, как мне начать устранять этопроблема?
PS Я пытался переписать с нуля, безрезультатно.