C# ASP.NET MVC:DropDownListFor';渲染时不要选择任何选项

C# ASP.NET MVC:DropDownListFor';渲染时不要选择任何选项,c#,asp.net-mvc,drop-down-menu,html.dropdownlistfor,C#,Asp.net Mvc,Drop Down Menu,Html.dropdownlistfor,我用它来填充ASP.NET MVC视图中的下拉列表 C# CSHTML @Html.DropDownListFor(model => model.EmployeeID, ViewBag.Employees as IEnumerable<SelectListItem>, "Please select") DropDownListForHelper使用model.EmployeeIDvalue设置DropdownList中的选定值。这个房产有价值吗 还有,为什么我们在使用Sele

我用它来填充ASP.NET MVC视图中的下拉列表

C#

CSHTML

@Html.DropDownListFor(model => model.EmployeeID, ViewBag.Employees as IEnumerable<SelectListItem>, "Please select")

DropDownListFor
Helper使用
model.EmployeeID
value设置DropdownList中的选定值。这个房产有价值吗

还有,为什么我们在使用
SelectList
时会遇到这么多困难?您不想像这样填充
ViewBag

ViewBag.Employees = _employeeRepository
.GetAll()
.Select(x => new SelectListItem
{
     Text = x.LastName,
     Value = x.ID.ToString(),
     Selected = employeeToClientContract.EmployeeID == x.ID
}); 

对视图的返回对象已正确水合。@kyle这是基于您提供的所有内容的有效解决方案。请将此标记为answer.model.EmployeeID是否包含值?SelectList的selected字段未被使用,将被忽略,甚至不用担心。
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")
$('#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();
        });
ViewBag.Employees = _employeeRepository
.GetAll()
.Select(x => new SelectListItem
{
     Text = x.LastName,
     Value = x.ID.ToString(),
     Selected = employeeToClientContract.EmployeeID == x.ID
});