首页 > 解决方案 > 使用 ASP.NET MVC 根据 ID 选择名称

问题描述

我创建了一个新表单,我想根据另一个表中的 id 查看名称,但该 id 无法在下拉列表中查看:

在此处输入图像描述

这是视图:

<div class="form-group">
        <label class="control-label col-md-2">ID Operator</label>
        <div class="col-md-10">
            @Html.DropDownList("idOp", null, htmlAttributes: new { @class = "form-control" })
            @Html.ValidationMessageFor(model => model.idOp, "", new { @class = "text-danger" })
        </div>
    </div>

    <div class="form-group">
        <label class="control-label col-md-2">Name</label>
        <div class="control-label col-md-10">
            @Html.EditorFor(model => model.tbl_operator.nama, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.tbl_operator.nama , "", new { @class = "text-danger" })
        </div>
</div> 

这是控制器:

public ActionResult Create()
{
    ViewBag.idEx = new SelectList(db.tbl_exercises, "idEx");
    ViewBag.idOp = new SelectList(db.tbl_operator, "idOp");
    return View();
} 

也许我错过了代码。

标签: c#asp.net-mvcrazor

解决方案


您需要选择什么字段NameValue例如SelectList

ViewBag.idEx = new SelectList(tbl_exercises, "Value", "Name");

我根据你的代码做了一个例子

var tbl_exercises = new List<exercises>
{
                new exercises
                {
                    Name = "Name 1",
                    Value = 10
                },
                new exercises
                {
                    Name = "Name 2",
                    Value = 11
                }
  };

  ViewBag.idEx = new SelectList(tbl_exercises, "Value", "Name");

推荐阅读