addTagHelper Html.GetEnumSelectList не работает - PullRequest
0 голосов
/ 26 июня 2019

Просто возвращаюсь к кодированию после долгого перерыва ... Я пытаюсь отобразить список из перечисления, используя Html.GetEnumSelectList <>, однако Visual Studio 2019, похоже, не распознает (без intellisense), и код не работает.

@using AspNetCoreVideo.Models
@model AspNetCoreVideo.Entities.Video
@addTagHelper *, Microsoft.aspnetcore.mvc.taghelpers

<h2>Create Vidio</h2>
<form asp-action="Create" method="post">

<table>
    <tr>
        <td><label asp-for="Title"></label></td>
        <td><input asp-for="Title" /></td>
    </tr>
    <tr>
        <td><label asp-for="Genre"></label></td>
    <    td><select asp-for="Genre" asp-items="Html.GetEnumSelectList<Genres>()"></select></td>
    </tr>
</table>

<input type="submit" value="Create" />

</form>

Ожидается отображение списка «Жанров», однако в списке ничего нет.

Ответы [ 2 ]

0 голосов
/ 26 июня 2019

Проблема решена.Очевидно, директива @addTagHelper чувствительна к регистру.Я изменил «@addTagHelper *, Microsoft.aspnetcore.mvc.taghelpers» на «@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers», и теперь помощники тегов работают нормально.

0 голосов
/ 26 июня 2019

Причина, по которой вы не получаете intellisense, заключается в том, что вы не добавили префикс @, поэтому это просто текст.Вам не нужно только @ на asp-for.Это потому, что он принимает выражение модели, тогда как для чего-то вроде asp-items нужен фактический экземпляр некоторой коллекции.Другими словами:

<select asp-for="Genre" asp-items="@Html.GetEnumSelectList<Genres>()"></select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...