Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET Core
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
163 / 138 / 35
Регистрация: 25.11.2015
Сообщений: 910
1

ASP.NET Core по книге А.Фримена. Не работает там один пример

01.12.2016, 11:49. Показов 3380. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
И даже не знаю почему.
Собственно вот, разбираю книгу. Делаю тамошний магазин. Застопорился на том моменте, когда делается представление List со страничным выводом. А. Фримен реализует эту херню через HtmlTagHelpers. Все сделал как по книге - не работает. Причем не работает как-раз таки TagHelper.
C#
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
[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 { page = i });
                tag.InnerHtml.Append(i.ToString());
                result.InnerHtml.AppendHtml(tag);
            }
            output.Content.AppendHtml(result.InnerHtml);
        }
    }

В представлении все как надо.

HTML5
1
<div page-model ="@Model.PagingInfo" page-action="List"></div>
TagHelper зарегистрирован. Весь код перепроверил от начала и до конца. Все совпадает. По точкам останова в html в div заходит. В TagHelper стоит точка останова и она не срабатывает.

Я тут допустил одну глупость-ошибку. Работать с книгой начал без работы над юнит-тестами, поэтому по книге проверить работу кода не получается. Ну, или отлистать пару десятков листов назад и добавить в проект юнит-тесты. Но не хочется.
Сомневаюсь, что в книге ошибка, так что если кто сию макулатурку разбирал - получилось с первого раза как написано в книге?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2016, 11:49
Ответы с готовыми решениями:

Проект спортивного магазина по книге Адама Фримена ASP.NET MVC 4.0. Ошибка в проекте
Изучаю ASP.NET MVC 4 по книге Фримена. Возникает ошибка при запуске проекта. Если не подключаться к...

ASP.NET Core. Старт - что нужно знать, чтобы стать ASP.NET Core разработчиком?
Попалось хор краткое обзорное видео 2016 года с таким названием - Что нужно знать, чтобы стать...

Разница между ASP.NET Core 2, ASP.NET Core MVC, ASP.NET MVC 5 и ASP.NET WEBAPI 2
Здравствуйте. Я в бекенд разработке полный ноль. В чем разница между вышеперечисленными...

Цифровая книга Фримена. ASP.NET MVC 5
Где-то можно купить цифровую книгу Фримена?

6
163 / 138 / 35
Регистрация: 25.11.2015
Сообщений: 910
02.12.2016, 12:33  [ТС] 2
Кто-то тут писал, что ASP.NET Core сырая и глючная фигня. Переделал проект - переписал все по новой - все заработало. В чем была причина - не понимаю. Все зависимости и ссылки те же.

Юнит-тесты так и не подключил. Те ссылки, которые в книге, nuget не поддтягивает. Например "moq.netcore"


но все-равно интересно - буду изучать
0
Эксперт .NET
12078 / 8387 / 1281
Регистрация: 21.01.2016
Сообщений: 31,595
02.12.2016, 12:42 3
Цитата Сообщение от yurickas Посмотреть сообщение
Переделал проект - переписал все по новой - все заработало.
Если бы остались исходники старого проекта, то можно было бы сравнить с рабочим, чтобы понять источник проблемы и не напороться на неё в будущем...
0
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
02.12.2016, 18:53 4
Цитата Сообщение от yurickas Посмотреть сообщение
Переделал проект - переписал все по новой - все заработало. В чем была причина - не понимаю. Все зависимости и ссылки те же.
такое бывает если перепечатываешь код как машинистка из книги не имея понимания что это и зачем )
0
163 / 138 / 35
Регистрация: 25.11.2015
Сообщений: 910
02.12.2016, 20:18  [ТС] 5
Вполне возможно. Поэтому часто делаю сам себе злобную буратину. То проект начну под другим именем, то еще какую засаду, чтобы меньше работать машинисткой и больше думать.
0
Warrior
500 / 427 / 177
Регистрация: 23.11.2014
Сообщений: 932
02.12.2016, 22:39 6
Сравнить с сорцами непробывали?))))
https://github.com/apress/pro-asp.net-core-mvc
0
0 / 0 / 0
Регистрация: 10.09.2018
Сообщений: 1
10.09.2018, 23:58 7
Он не один такой есть исходники, просмотрел, ничего, что должно помешать корректной работе проекта не увидел, ошибка аналогичная, если можете подсказать, было бы круто
Вложения
Тип файла: rar SportsStore.rar (1.16 Мб, 9 просмотров)
0
10.09.2018, 23:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.09.2018, 23:58
Помогаю со студенческими работами здесь

Какая разница между ASP .Net Core и ASP .Net Core MVC?
Какая разница между ASP .Net Core и ASP .Net Core MVC? Или я может что-то не так понял? И...

ASP.NET Core. Форма не работает с кириллицей
Собственно вот, штудирую ASP.NET Core. Делаю пример из мсдн, а там ессно все на буржуйском. Но я же...

ASP.NET пример из учебника не работает
В учебнике дан пример, должен в браузер выводить картинку:...

Простейший код-пример ASP.NET не работает.
Купил книгу там пример простейшего кода &lt;form runat='server'&gt; asp:Label id='lblMessage' ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru