Asp.net mvc 如何在下拉列表/默认下拉列表中添加选项值

Asp.net mvc 如何在下拉列表/默认下拉列表中添加选项值,asp.net-mvc,asp.net-mvc-3,html-select,Asp.net Mvc,Asp.net Mvc 3,Html Select,上面的代码是我用来使用linq检索数据的 var EmpPreviousChart = (from m in dataContext.ViewName where ((m.EmployeeID == Id)&&(m.Status=='C')) orderby m.EmployeeID descending

上面的代码是我用来使用linq检索数据的

   var EmpPreviousChart = (from m in dataContext.ViewName
                             where ((m.EmployeeID == Id)&&(m.Status=='C'))
                             orderby m.EmployeeID descending
                             select m.EmployeeID + "- " + m.JoinDate.ToString());

ViewData["EmpPreviousChartList"] = EmpPreviousChart;

上面的代码填充了我的下拉列表,我首先得到了select。现在我希望加载下拉列表后应该可见的值应该位于select旁边。 如果我有选择,A,B,C。我想要一个可见的。我用partialview来做这个。 如果我可以在选项值中添加一个自动递增字段,我就可以实现它
或者,如果有任何其他出路

SelectList
将当前选定的项目作为参数之一-只需传递您想要选择的项目即可

您应该在控制器中实例化
SelectList
,然后将其传递给视图。视图应该尽可能少地具有逻辑性

<%= Html.DropDownList("EmpPreviousCharts", new SelectList((IEnumerable)ViewData["EmpPreviousChartList"]), "Select", new { style = "width:60px;font-family:Verdana;font-size:9px;",  ID = "EmpPrevCharts" })%> 
var empreviouschart=(来自dataContext.ViewName中的m
其中((m.EmployeeID==Id)&&(m.Status==C'))
orderby m.EmployeeID降序
选择m.EmployeeID+“-”+m.JoinDate.ToString()).ToList();
ViewData[“EmpPreviousChartList”]=新的SelectList(EmpPreviousChart,EmpPreviousChart.FirstOrDefault());

@Evostract-DropDownList扩展方法存在一个已知问题:请确保您的模型的ViewBag/属性中没有与您选择的ID同名的项。我已将代码粘贴到该位置,除此之外没有其他内容using@Evostract-在调试器中验证SelectList是否为您提供
IEnumerable
,其中第一项的
属性设置为
true
。您可能希望创建一个空白视图,然后在一个更简单的示例中进行尝试。
var EmpPreviousChart = (from m in dataContext.ViewName
                             where ((m.EmployeeID == Id)&&(m.Status=='C'))
                             orderby m.EmployeeID descending
                             select m.EmployeeID + "- " + m.JoinDate.ToString()).ToList();

ViewData["EmpPreviousChartList"] = new SelectList(EmpPreviousChart, EmpPreviousChart.FirstOrDefault());


<%= Html.DropDownList("EmpPreviousCharts", (SelectList)ViewData["EmpPreviousChartList"], "Select", new { style = "width:60px;font-family:Verdana;font-size:9px;",  ID = "EmpPrevCharts" })%>