Использование тегов Asp для перехода к другой HTML-странице .net core mvc

В моем проекте у меня есть родитель и дочерний элемент, а затем у дочернего элемента также есть дочерние элементы, поэтому вы можете представить его как трехступенчатую иерархию. когда я нахожусь в третьем дочернем элементе (позвольте мне назвать его внуком), я использую тег asp, чтобы вернуться ко второму дочернему представлению. дело в том, что я использую прямо сейчас, возвращает меня ко всему индексу второго дочернего элемента от всех родителей, я хочу получить только представление второго дочернего элемента родителя, который я изначально выбрал, а не все дочерние элементы всех родители (индекс). Надеюсь, это не слишком сложно.

 <a asp-controller="Surveys" asp-action="Index" class="btn btn-link">Back to Surveys</a>

Я пытался использовать asp-route-id=ViewData['ProjectId'], но все равно не работал.


person Zeus Kaka    schedule 09.12.2020    source источник


Ответы (1)


Попробуйте передать идентификатор проекта с помощью модели, что-то вроде этого

@model Speaker

<a asp-controller="Speaker"
   asp-action="Detail" 
   asp-route-id="@Model.SpeakerId">SpeakerId: @Model.SpeakerId</a>

HTML-вывод:

<a href="/Speaker/Detail/12">SpeakerId: 12</a>

Если у вас есть идентификатор прохода с отдельным именем (не идентификатор по умолчанию)

 <a asp-controller="Speaker"
   asp-action="Detail"
   asp-route-speakerid="@Model.SpeakerId">SpeakerId: @Model.SpeakerId</a>

HTML-вывод:

<a href="/Speaker/Detail?speakerid=12">SpeakerId: 12</a>

Рассмотрите возможность проверить подробную статью здесь

https://docs.microsoft.com/en-us/aspnet/core/mvc/views/tag-helpers/built-in/anchor-tag-helper?view=aspnetcore-5.0

person Vikas Lalwani    schedule 09.12.2020