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。 如果我可以在选项值中添加自动增量字段,我可以实现它 或者如果还有其他出路
答案 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" })%>