我有一个 asp.net-mvc 网站,我遇到了一个问题,即下拉列表中正确的选择项没有被选择。我的控制器操作上有以下代码(简化以隔离问题):
public ActionResult MyAction()
{
 var vm = GetVM();
 var list = new List<INamed> {new NamedInfo() {Id = 1, Name = "Yes"}, new NamedInfo() {Id = 0, Name = "No"}};
 vm.YesNoList = SelectListHelper.GenerateDropdownList(vm.IncludesWeekends ? 1 : 0, list);
  return View(vm);
 }
这是 GenerateDropdownList 的定义
    public static List<SelectListItem> GenerateDropdownList<T>(int id, IEnumerable<T> list) where T : INamed
    {
        List<SelectListItem> dropdown = list.Select(c => new SelectListItem
        {
            Selected = c.Id == id,
            Text = c.ToString(),
            Value = c.Id.ToString()
        }).ToList();
        return dropdown;
    }
以下是我的 HTML 视图中的代码:
 <% = Html.DropDownList("IncludesWeekends", Model.YesNoList, new { @id = "IncludesWeekends" })%>
我希望在我的示例中选择否(并且当我在服务器端放置断点时它具有 Selected = true 但是当我查看生成的 html 时,没有选择任何内容:
<select id="IncludesWeekends" class="autoComplete1" name="IncludesWeekends">
 <option value="1">Yes</option>
 <option value="0">No</option>
 </select>
并且默认选择“是”,因为它是第一项。
关于我在这里做错了什么或可行的替代方案有什么建议吗?