我有一个基本的性别枚举,男性和女性的赋值分别为1、2。这段代码在以前的mvc中对我有用,但是在asp.net核心中却出现错误
有什么问题吗? 谢谢
@Html.DropDownListFor(c => c.Gender, Enum.GetValues(typeof(Accounts.i_EF.Accounts.Gender)).Cast<Accounts.i_EF.Accounts.Gender>().Select(c => SelectListItem { Text = c.ToString(), Value = c.ToString() } ))
答案 0 :(得分:0)
如果您使用的是MVC6,则可以使用一种方法GetEnumSelectList
来创建下拉菜单。
<select asp-for="Gender" asp-items="Html.GetEnumSelectList<Gender>()">
</select>
答案 1 :(得分:0)
对于您之前的代码,请尝试更改为
@Html.DropDownListFor(c => c.Gender, Enum.GetValues(typeof(Gender)).Cast<Gender>().Select(c => new SelectListItem { Text = c.ToString(), Value = c.ToString() } ))
确保您的项目引用的是“ Microsoft.NET.Sdk.Web”,并且“ PreserveCompilationContext”属性未设置为false。
为此,请尝试清理并重建项目。如果不起作用,请重新启动VS。