经过长时间的中断后才重新开始编码...我试图使用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>
期望显示“流派”列表,但是列表中什么都没有。
答案 0 :(得分:2)
我也遇到了类似的问题,选择没有显示任何内容。后来发现是因为使用了select标签。如果您将它用作像 <select />
这样的单个元素,它将无法正常工作。您必须将其用作 <select></select>
希望这会对某人有所帮助。
答案 1 :(得分:0)
之所以没有智能感知,是因为您没有以@
作为前缀,所以它只是纯文本。您只需要@
上的asp-for
。那是因为它接受模型表达式,而类似asp-items
的东西则需要某个集合的实际实例。换句话说:
<select asp-for="Genre" asp-items="@Html.GetEnumSelectList<Genres>()"></select>
答案 2 :(得分:0)
问题已解决。显然,@ addTagHelper指令区分大小写。我将“ @addTagHelper *,Microsoft.aspnetcore.mvc.taghelpers”更改为“ @addTagHelper *,Microsoft.AspNetCore.Mvc.TagHelpers”,现在标记帮助程序可以正常工作。