Asp.net mvc 3 如何将数据从实体模型绑定到mvc3中的下拉列表?
大家好,我有一个包含EmployeeDetails的表,这是我的linq查询,用于从表中获取所需的列…现在我想将此数据绑定到下拉列表,我如何才能做到这一点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 }).
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中输入的,因此它可能不完全正确,但应该可以让您继续。