Я работаю с .Net Core 6, и в настоящее время у меня есть проблемы с тем, чтобы он работал с элементами с помощниками тегов.
<div class = "container p-3">
<div class = "row pt-4">
<div class = "col-6">
<h2 class = "text-primary">Category List</h2>
</div>
<div class = "col-6 text-end">
<a asp-controller = "Category" asp-action = "Create" class = "btn btn-primary">
<i class = "bi bi-plus-circle"></i> Create new category
</a>
</div>
</div>
<br /><br />
<table class = "table table-bordered table-striped" style = "width: 100%;">
<thead>
<tr class = "table-primary" ">
<th scope = "row">Category Name</th>
<th scope = "row">Display Order</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach (var category in Model)
{
<tr>
<td width = "50%">@category.Name</td>
<td width = "30%">@category.DisplayOrder</td>
<td>
<div class = "w-75 btn-group" role = "group">
<a asp-controller = "Category" asp-action = "Edit" asp-route-id = "@category.Id" class = "btn btn-primary mx-2">
<i class = "bi bi-pencil-square"></i> Edit
</a>
</div>
</td>
</tr>
}
</tbody>
</table>
Здесь первый якорь работает отлично,
<a asp-controller = "Category" asp-action = "Create" class = "btn btn-primary">
<i class = "bi bi-plus-circle"></i> Create new category
</a>
Но когда я использую следующий, и я запускаю приложение, навигатор не распознает тег и не создает автоматически синтаксис для добавления тега href.
<a asp-controller = "Category" asp-action = "Edit" asp-route-id = "@category.Id" class = "btn btn-primary mx-2">
<i class = "bi bi-pencil-square"></i> Edit
</a>
Есть ли у вашего CategoryController действие с именем Edit, которое принимает параметр маршрута Int32 id?
Извините, да, у меня есть действие под названием «Редактировать», которое получило параметр Int32 id. Но в этом случае элемент привязки не отображается с тегом href. Если я вручную добавлю свойство href = "Category/Edit/@category.Id" к элементу привязки, это сработает, но использование вспомогательных тегов по-прежнему не работает.





После тестирования я наконец нашел причину.
Проблема в этой строке кода:
<tr class = "table-primary" ">
Есть еще один ".
Удалите его, href будет отображаться нормально.
<tr class = "table-primary">
Ни в коем случае, я этого не видел. Я изменил его, и теперь он работает. Спасибо
Кстати, ваш
<th scope = "row">должен быть<th scope = "col">.