powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC Core почему не работает тэг <a>...</a> с тэгами действий формы asp-... ?
6 сообщений из 6, страница 1 из 1
MVC Core почему не работает тэг <a>...</a> с тэгами действий формы asp-... ?
    #39949882
ValGer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Столкнулся со странностью в работе якорного тэга <a> при построении иерархического дерева.
Дерево 4-х уровневое:

Код: html
1.
2.
3.
4.
Регион (область)
    Районы региона
        Типы школ (средняя школа, гимназия, лицей, ПТУ ...)
              Школы (задаётся тэгом <a> которое и отсылает на нужную форму с информацией)


Дерево строится с использованием TagBuilder, которые последовательно создают списочные элементы <ul><li>...</li></ul>
Дерево прекрасно работает - узлы открываются и закрываются нормально.
Поначалу отсылочный тэг школы <a> строил с тэгами формы asp-...
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
<ul>
...............................................................
    <li>
          <a asp-action="Имя-действия" asp-controller="Имя-Контроллера" 
                 asp-data-idSchool="Идентификатор-школы" id="id-Элемента">Имя-школы
          </a>
     </li>
..................................................................
</ul>



Элемент появляется в дереве, но сколько по нему не щёлкай мышкой - ничего не происходит, перехода на действие контроллера не происходит. Заменил эту хрень на стандартный вариант:
Код: html
1.
<a href="/Имя-контроллера/Имя-действия?idSchool=1204 id="..." >Имя-Школы </a> 


и всё заработало как и должно!
Что бы это значило? Может это связано с тем, что список, образующий дерево, генерируется с использованием TagBuilder?
С уважением ВВГ
...
Рейтинг: 0 / 0
MVC Core почему не работает тэг <a>...</a> с тэгами действий формы asp-... ?
    #39949951
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValGer
Что бы это значило? Может это связано с тем, что список, образующий дерево, генерируется с использованием TagBuilder?


Так вы покажите, что генерируется, когда вы используете тег билдер.
...
Рейтинг: 0 / 0
MVC Core почему не работает тэг <a>...</a> с тэгами действий формы asp-... ?
    #39950100
ValGer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

А вот, пожалуйста!
Фрагмент кода:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
li2Psk.MergeAttribute("class", "emptyClass");
//string li2PskString = "<a href='/FormirovanieGruppi/SchoolTeacherList?idSchool=" + idSchool + "' id='" + idSchoolPsk + "'>" + sch.НазваниеШколы + "</a>";

string li2PskString = "<a asp-action='SchoolTeacherList' asp-controller='FormirovanieGruppi' "
            + "asp-data-idSchool='" + idSchool.ToString() 
            + "' id='" + idSchoolPsk.ToString() + "' >" + sch.НазваниеШколы + "</a>"; 

li2Psk.InnerHtml.AppendHtml(li2PskString);
ul2Psk.InnerHtml.AppendHtml(li2Psk);



На картинке показано то, что сгенерировано - не работает! То, что закомментировано работает нормально. Причём, самое интересное, что тэг с asp- ... помещённый вне TagBuilder работает прекрасно - парадокс!
С уважением ВВГ
...
Рейтинг: 0 / 0
MVC Core почему не работает тэг <a>...</a> с тэгами действий формы asp-... ?
    #39950221
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValGer,

Ну вот, теперь мы видим, что у вас не работают тег билдеры.

Вот, почитайте, что нужно, чтобы их использовать: https://docs.microsoft.com/ru-ru/aspnet/core/mvc/views/tag-helpers/intro?view=aspnetcore-3.1
...
Рейтинг: 0 / 0
MVC Core почему не работает тэг <a>...</a> с тэгами действий формы asp-... ?
    #39950222
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValGer
Код: html
1.
2.
3.
string li2PskString = "<a asp-action='SchoolTeacherList' asp-controller='FormirovanieGruppi' "
            + "asp-data-idSchool='" + idSchool.ToString() 
            + "' id='" + idSchoolPsk.ToString() + "' >" + sch.НазваниеШколы + "</a>"; 



С чего вы решили, что подобный фокус у вас сработает? Тег хеперы должны быть непосредственно в шаблоне Razor. Если вы их в строку запихаете, это работать никогда не будет.
...
Рейтинг: 0 / 0
MVC Core почему не работает тэг <a>...</a> с тэгами действий формы asp-... ?
    #39950321
ValGer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Спасибо!
Изчо подумаю над этим. ;-)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC Core почему не работает тэг <a>...</a> с тэгами действий формы asp-... ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]