C# dropdownlist不默认为选定项

C# dropdownlist不默认为选定项,c#,asp.net-mvc-5,C#,Asp.net Mvc 5,我的控制器中有以下代码。请注意,如果companyId为4,我希望它是我的dropdownlist中的默认值: var company = _conpanyService.companyLst().ToList(); var items = new List<SelectListItem>(); foreach (var item in company) { items.Add(new SelectListItem()

我的控制器中有以下代码。请注意,如果companyId为4,我希望它是我的dropdownlist中的默认值:

     var company = _conpanyService.companyLst().ToList();

     var items = new List<SelectListItem>();

     foreach (var item in company)
     {
         items.Add(new SelectListItem()
         {
           Text = item.CompanyName,
           Value = item.CompanyID.ToString(),
           Selected = item.CompanyID == 4 ? true : false
         });
     }         

     // I double checked the items list and it does have companyID of 4 set to Select to true. Not sure why it did not propagate to the view. 

     ViewBag.CompanyList = items;
var company=\u conpanyService.companyLst().ToList();
var items=新列表();
foreach(公司中的var项目)
{
items.Add(新建SelectListItem()
{
Text=item.CompanyName,
Value=item.CompanyID.ToString(),
选定项=item.CompanyID==4?真:假
});
}         
//我仔细检查了项目列表,它的companyID设置为4,选择为true。不确定它为什么没有传播到视图。
ViewBag.CompanyList=项目;
意见内容:

     @Html.DropDownList("CompanyID", (IEnumerable<SelectListItem>)ViewBag.CompanyList, "Please Select", new { @class = "form-control" })
@Html.DropDownList(“CompanyID”,(IEnumerable)ViewBag.CompanyList,“请选择”,新建{@class=“form control”})

问题是,即使我在视图上查看源代码,所选代码也无法通过。我不知道为什么它没有被选中

试试这个。在控制器中

var company = _conpanyService.companyLst().ToList();
ViewBag.CompanyList = new SelectList(company, "CompanyId", "CompanyName", 4);
鉴于,

@Html.DropDownList("CompanyId", (SelectList) ViewBag.CompanyList)

他们中有人被选中吗?忘了,下拉列表是否具有multiselect属性?这是真的吗?是否需要使控件无效并更新它?Sidenote:Selected将默认为false,如果您只说Selected=(item.CompanyID==4)@tobeypeters,那么它会将值重置为false。我只是有一个下拉列表,列表中的所有项目默认为“请选择”。它只将1标记为真。我仔细检查了一下。