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

时间:2011-06-21 08:55:35

标签: asp.net-mvc asp.net-mvc-3 html-select

   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;

以上代码用于使用linq检索数据。

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

上面的代码填写我的下拉列表,我得到了第一名的选择。现在我希望加载下拉列表后应该可见的值应该在select旁边。 即如果我有选择,A,B,C分别。我希望A可见。我正在使用partialview。 如果我可以在选项值中添加自动增量字段,我可以实现它 或者如果还有其他出路

1 个答案:

答案 0 :(得分:1)

SelectList将当前所选项目作为其中一个参数 - 只需传递您要选择的项目。

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

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" })%>