【问题标题】:Trouble with MVC Dropdownlist, not sure how to set it upMVC Dropdownlist 出现问题,不知道如何设置
【发布时间】:2012-11-13 01:51:49
【问题描述】:

我想创建一个能够设置 ID 的下拉列表(因为我有两个来自同一个视图包)。像

@Html.DropDownList("startTimes", (SelectList)ViewBag.times, new { @class = "date" })

@Html.DropDownList("endTimes", (SelectList)ViewBag.times, new { @class = "date" })

现在,我有

ViewBag.times = getTimeList();

    private List<SelectListItem> getTimeList()
    {
        List<SelectListItem> times = new List<SelectListItem>();
        for (int Minutes = 60; Minutes < 770; Minutes += 30)
        {
            TimeSpan TS = TimeSpan.FromMinutes(Minutes);
            String TSString = String.Format("{0:00}:{1:00}", TS.Hours, TS.Minutes);
            SelectListItem item = new SelectListItem();
            item.Text = TSString;
            item.Value = TS.Minutes.ToString();
            times.Add(item);
        }

        return times;
    }

但我收到一个错误:无法将类型“System.Collections.Generic.List”转换为“System.Web.Mvc.SelectList”

【问题讨论】:

    标签: c# asp.net-mvc razor


    【解决方案1】:

    给你

    @Html.DropDownList("endTimes", new SelectList(ViewBag.times, "Value", "Text"), new { @class = "date" })
    

    正如错误所述,您需要创建一个新的SelectList 才能使其正常工作,而不仅仅是从现有的可枚举中强制转换。 DropDownList 辅助重载应该向您展示这一点。

    您也可以通过 Google 搜索该问题并自己找到答案,例如 this SO question

    更新:

    现在重新阅读您的问题,您正在谈论为下拉列表设置id,这实际上与您的错误无关。 id 将从第一个参数设置为 DropDownList 帮助器(它是方法中的“名称”参数)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-19
      • 2012-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多