【问题标题】:how to add option value in dropdown/ default dropdown value如何在下拉菜单/默认下拉菜单中添加选项值
【发布时间】:2011-06-21 08:55:34
【问题描述】:
   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" })%> 

上面的代码填充我的下拉列表,我首先得到选择。现在我希望加载下拉列表后应该可见的值应该在选择旁边。 即如果我有选择,A,B,C resp。我希望 A 可见。我为此使用局部视图。 如果我可以在选项值中添加一个 autoincrement field 我可以实现它 或者如果有其他出路

【问题讨论】:

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


    【解决方案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" })%>
    

    【讨论】:

    • @Evostract - DropDownList 扩展方法存在一个已知问题:确保您的模型的 ViewBag / 属性中没有与您选择的 ID 同名的项目.
    • 我已经将代码粘贴在那里,除了我正在使用的这个
    • @Evostract - 在调试器中验证 SelectList 是否为您提供IEnumerable&lt;SelectListItem&gt;,其中第一个项目的Selected 属性设置为true。您可能想创建一个空白视图,然后在一个更简单的示例中尝试一下。
    猜你喜欢
    • 2013-05-08
    • 1970-01-01
    • 1970-01-01
    • 2015-04-10
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 2016-01-06
    • 1970-01-01
    相关资源
    最近更新 更多