ASP.NET MVC:DropDownListFor 在呈现时 select 没有任何选项
ASP.NET MVC: DropDownListFor doesn't select any option when rendered
我用它来填充 ASP.NET MVC 视图中的下拉列表。
C#
ViewBag.Employees = new SelectList(
_employeeRepository.GetAll(),
"ID",
"LastName",
employeeToClientContract.EmployeeID);
CSHTML
@Html.DropDownListFor(model => model.EmployeeID, ViewBag.Employees as IEnumerable<SelectListItem>, "Please select")
注意:出于某种原因,这有效
ViewBag.OverridePhysicians = new SelectList(
_employeeRepository.GetAll().Where(e => e.EmployeeTypes.TypeType == 1),
"ID",
"LastName",
employeeToClientContract.OverridePhysicianID);
@Html.DropDownListFor(model => model.OverridePhysicianID, ViewBag.OverridePhysicians as IEnumerable<SelectListItem>, "Please select")
调试这个我可以看到 Selected 属性 在应该的时候设置为 true。但是当呈现视图时,列表中的 none 个选项被选中。
有什么想法吗?
更新:问题不在于任何控制配置。我的问题是 URL 中有额外的空格。我所要做的就是调用 .Trim() 来解决问题。
$('#itemsTable').bootstrapTable({
}).on('click-row.bs.table', function (e, row, $element) {
window.location.href = "/EmployeeToClientContract/Edit?employeeId=" + row[0].toString().trim() + "&clientContractId=" + row[2].toString().trim();
});
DropDownListFor
帮助程序使用 model.EmployeeID
值在 DropdownList 中设置选定值。这个属性有价值吗?
还有,为什么SelectList
遇到这么多困难?您不想像这样填充 ViewBag
吗:
ViewBag.Employees = _employeeRepository
.GetAll()
.Select(x => new SelectListItem
{
Text = x.LastName,
Value = x.ID.ToString(),
Selected = employeeToClientContract.EmployeeID == x.ID
});
我用它来填充 ASP.NET MVC 视图中的下拉列表。
C#
ViewBag.Employees = new SelectList(
_employeeRepository.GetAll(),
"ID",
"LastName",
employeeToClientContract.EmployeeID);
CSHTML
@Html.DropDownListFor(model => model.EmployeeID, ViewBag.Employees as IEnumerable<SelectListItem>, "Please select")
注意:出于某种原因,这有效
ViewBag.OverridePhysicians = new SelectList(
_employeeRepository.GetAll().Where(e => e.EmployeeTypes.TypeType == 1),
"ID",
"LastName",
employeeToClientContract.OverridePhysicianID);
@Html.DropDownListFor(model => model.OverridePhysicianID, ViewBag.OverridePhysicians as IEnumerable<SelectListItem>, "Please select")
调试这个我可以看到 Selected 属性 在应该的时候设置为 true。但是当呈现视图时,列表中的 none 个选项被选中。
有什么想法吗?
更新:问题不在于任何控制配置。我的问题是 URL 中有额外的空格。我所要做的就是调用 .Trim() 来解决问题。
$('#itemsTable').bootstrapTable({
}).on('click-row.bs.table', function (e, row, $element) {
window.location.href = "/EmployeeToClientContract/Edit?employeeId=" + row[0].toString().trim() + "&clientContractId=" + row[2].toString().trim();
});
DropDownListFor
帮助程序使用 model.EmployeeID
值在 DropdownList 中设置选定值。这个属性有价值吗?
还有,为什么SelectList
遇到这么多困难?您不想像这样填充 ViewBag
吗:
ViewBag.Employees = _employeeRepository
.GetAll()
.Select(x => new SelectListItem
{
Text = x.LastName,
Value = x.ID.ToString(),
Selected = employeeToClientContract.EmployeeID == x.ID
});