Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 如何将数据从实体模型绑定到mvc3中的下拉列表?_Asp.net Mvc 3_Html Select - Fatal编程技术网

Asp.net mvc 3 如何将数据从实体模型绑定到mvc3中的下拉列表?

Asp.net mvc 3 如何将数据从实体模型绑定到mvc3中的下拉列表?,asp.net-mvc-3,html-select,Asp.net Mvc 3,Html Select,大家好,我有一个包含EmployeeDetails的表,这是我的linq查询,用于从表中获取所需的列…现在我想将此数据绑定到下拉列表,我如何才能做到这一点 var EmployeeDetails = db.EmployeeDetails.ToList<EmployeeDetail>().Select(e => new { id=e.EmployeId, Name = e.EmployeeName }).

大家好,我有一个包含EmployeeDetails的表,这是我的linq查询,用于从表中获取所需的列…现在我想将此数据绑定到下拉列表,我如何才能做到这一点

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

必须将模型传递给视图。只有这样,您才能将任何数据绑定到dropdownlist。
看看。

你真的应该使用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>
您的操作可能有点像这样:

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>
然后在视图中,您可以执行以下操作:

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>
@model{fullnamespace}.EmployeeViewModel
---选择选项--
@foreach(Model.EmployeeDetails中的var EmployeeDetails)
{
@employeeDetail.Name
}

请注意,我是在浏览器中输入的,而不是在VS中输入的,因此它可能不完全正确,但应该可以让您继续。