0

IDも設定できるドロップダウンリストを作成したいと思います(同じビューバッグから2つ持っているため)。何かのようなもの

@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' に変換できません

4

1 に答える 1

1

どうぞ

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

SelectListエラーで述べたように、既存の列挙型からキャストするだけでなく、これを機能させるには新しいものを作成する必要があります。DropDownListヘルパーのオーバーロードがそれを示しているはずです。

たとえば、この SO の質問のように、質問をググって自分で答えを見つけることもできます。

アップデート:

今すぐ質問を読み直してください。ドロップダウンリストの設定について話しているのですがid、実際にはエラーとは関係ありません。最初のidパラメーターからDropDownListヘルパーに設定されます (メソッドの "name" パラメーターです)。

于 2012-11-13T02:40:39.993 に答える