【问题标题】:GetEnumSelect list is not working for me. How to resolve this?GetEnumSelect 列表对我不起作用。如何解决这个问题?
【发布时间】:2021-09-28 02:14:16
【问题描述】:

我有一个问题,我不知道如何解决这个问题。

当我使用 GetEnum 选择列表时出现错误。

“找不到类型或命名空间名称‘type/namespace’(是否缺少 using 指令或程序集引用?)”

当我查看我的数据模型和视图时,它看起来是正确的,但我不确定它为什么不起作用。谁能帮我?我正在使用 mvc 核心

namespace(etc) 

 public enum Gender 
{
    Male, Female, NonBinary, TransGender, Intersex, IPreferNotToSay
}

public enum Title
{
  Mr, Mrs, Miss, Ms, Mx  
}


public class Patient
{
    public int Id { get; set; }

    public Title Title { get; set; }

    public string Name { get; set; }

    public Gender Gender { get; set; } 
}
}

查看页面:Create.cshtml

<div class="row">
    <div class="col-md-4">
        <form asp-action="Create">
            <div asp-validation-summary="ModelOnly" class="text-danger"></div>
            <div class="form-group">
                <label asp-for="Title" class="control-label"></label>
                <select asp-for="Title" asp-items="Html.GetEnumSelectList<Title>()" class="form-control">
                    <option>Select Title</option>
                </select>
                <span asp-validation-for="Title" class="text-danger"></span>
            </div>



  </form>
    </div>
</div>

标题在 GetenumSelectList 中出现了一条红线

【问题讨论】:

  • 您好@user450157,您的asp.net core 版本是多少?您是否在视图中使用了@model Patient
  • 我也打算发布这个问题。当尝试使用@model Patient 时,它说我缺少程序集参考

标签: c# model-view-controller view asp.net-core-mvc


【解决方案1】:

我不太确定,但可能是因为类 Patient 的 Gender 和 Title 属性与枚举相同。

【讨论】:

  • 不幸的是,我确实尝试将一个转换为字符串并删除枚举,但不幸的是仍然是一个问题
  • @user450157 你什么意思?我的意思是该属性与类型具有完全相同的名称。它必须被称为不同的。
【解决方案2】:

我找到了答案。

由于某些原因,当使用 sp-items="Html.GetEnumSelectList(),

我必须这样做才能解决这个问题:

Html.GetEnumSelectList()

已经解决了问题

【讨论】:

    猜你喜欢
    • 2022-01-25
    • 1970-01-01
    • 2019-11-07
    • 1970-01-01
    • 2014-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-14
    相关资源
    最近更新 更多