MVC:如何从模型对象中选择特定的列/字段以进行下拉

时间:2013-07-01 11:30:22

标签: asp.net-mvc asp.net-mvc-4 razor

我有以下型号&在视图中简单下拉。我想在下拉列表中填写客户名称。我尝试了下面的代码但它没有用,有人可以告诉我如何使用dropdownselect语句指定列。

模型

public class customer
{

    public int id { get; set; }
    public string name { get; set; }
    public string address { get; set; }

}

//////////////////////////

  @{
Layout = null;
}

@model IEnumerable<MvcApplication1.customer>

<!DOCTYPE html>

<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>

    @Html.DropDownList("name",Model);

</div>

1 个答案:

答案 0 :(得分:0)

您可以使用this overload

@Html.DropDownList("name",new SelectList(Model,"id","name"));

<强>更新

您的模型没有名称属性。它只包含具有name属性的对象。您应该更新模型以反映这一点:

class MyViewModel
{
    public IEnumerable<customer> CustomerList { get; set; }
    public string SelectedCustomer { get; set; }
}

然后强烈地将您的视图键入此类型:

@model MyViewModel

然后您可以创建下拉列表:

@Html.DropDownListFor(m => m.SelectedCustomer , new SelectList(Model.CustomerList ,"id","name"));