如何将实体模型中的数据绑定到mvc3中的DropDown?

时间:2012-08-24 11:43:42

标签: asp.net-mvc-3 html-select

我所有的表都有EmployeeDetails表,这是我从表中查询需要的列的linq查询...现在我想将这些数据绑定到DropDown我该怎么做

 var EmployeeDetails = db.EmployeeDetails.ToList<EmployeeDetail>().Select(e => new
        {
           id=e.EmployeId,
          Name = e.EmployeeName
        }).ToList(); 

这是我的控制器

  public ActionResult Index()
    {                       
        return View();
    }

2 个答案:

答案 0 :(得分:0)

您必须将模型传递给您查看。只有这样,您才能将任何数据绑定到下拉列表。 看看this article

答案 1 :(得分:0)

你应该真的使用ViewModel ..

这样的事情......

员工详情DTO:

public class EmployeeDetails 
{
    public int Id {get;set;}
    public string Name {get;set;}
}

查看模型有点像这样:

public class EmployeeViewModel
{
    public EmployeeDetails EmployeeDetails {get;set;}
}

你的行动可能看起来像这样:

public ActionResult Index()
{                       
    //Setup a viewmodel
    var viewModel = new EmployeeViewModel();
    viewModel.EmployeeDetails = //your query to get employee details
    return View(viewModel);
}

然后在视图中你可以做一些像这样的事情:

@model {fullnamespace}.EmployeeViewModel

<select>
    <option> --- Select Option --- </option>
@foreach (var employeeDetail in Model.EmployeeDetails)
{
    <option value="@employeeDetail.Id">@employeeDetail.Name</option>
}
</select>