为了账号安全,请及时绑定邮箱和手机立即绑定

给出类名而不是值的下拉列表

给出类名而不是值的下拉列表

C#
三国纷争 2021-06-30 13:01:57
我正在尝试从数据库表中填充下拉列表,并在我的控制器中使用此代码model.EngineerNameList = new List<Engineers>();foreach (string Engineer in allData.Select(x => x.EngineerName).Distinct().ToList()){    model.EngineerNameList.Add(new Engineers() { EngineerName = Engineer });}这在我的下拉列表中返回了正确数量的项目,但我得到了在我的班级中定义的班级名称public partial class Engineers{    public int ID { get; set; }    [StringLength(100)]    public string EngineerName { get; set; }}我正在使用以下内容在我的视图中显示 <div class="form-group">    <label for="Engineer">Select Engineer:</label>    <select id="Name" name="Name" onchange="this.form.submit()">        @if (Model.EngineerNameList != null)        {            foreach (var Title in Model.EngineerNameList)            {            <option value="@Title" >@Title </option>            }        }        </select></div>我的问题是我无法将类中包含的值放入下拉列表中。这是我在我的页面上看到的:
查看完整描述

2 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

EngineerNameListEngineers模型的集合,所以当你迭代它时,你会得到一个Engineers. 这就是为什么您会ToString()在下拉列表中看到您的模型的表示。

因此,要显示适当的工程师姓名,请将代码更新为

<option value="@Title.EngineerName">@Title.EngineerName</option>


查看完整回答
反对 回复 2021-07-10
  • 2 回答
  • 0 关注
  • 150 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信