如何加载标准MVC下拉列表

时间:2014-05-15 15:58:25

标签: asp.net-mvc razor

我只是想把项目放到Html.DropDownList()中,如下所示。我已经调试并知道数据正在进入View但是没有显示下拉列表。谁知道我在哪里错了?

@model List<ControlNumberViewer.Models.Table>

@ {     Layout = null; }

    控制号码查看器

 <div id="PickTable">
@{Html.DropDownList("TableName", Model.Select(x => new SelectListItem
  {
      Text = x.TableName,
      Value = x.TableName
  }));
 }


</div>

2 个答案:

答案 0 :(得分:0)

将数据拉入控制器并将其存储在ViewBag中。然后使用DropDownListFor对属性TableName的数据进行强类型访问。

在您的控制器中:

var linqQuery = _db.SQLTable.Select(x => new { Text = x.TableName, Value = x.TableName });
ViewBag.ListValues = new SelectList(linqQuery, "Value", "Text");
在您看来

@Html.DropDownListFor(m => m.TableName, ViewBag.ListValues as SelectList);

答案 1 :(得分:-1)

  @{
      var listitem = Model.Select(x => new SelectListItem {
      Text = x.TableName,
      Value = x.TableName
  });
        Html.DropDownList("TableName", (SelectList)listitem);
    }