0

以下の点についてお役に立てれば幸いです。リストからドロップダウンを設定しようとしていますが、このエラーが発生し続けます。同様のタイトルの投稿のすべての提案を読んで試しましたが、うまくいきません。

私が持っているコントローラで:

        public ActionResult Search(string stringInput)
    {
        ClassManager manger = new ClassManager();
       ViewData["myList"] =  manger.GetData(stringInput, SearchBy);//Returns List<string>

        return View();
    }

私が持っているビューで:

@Html.DropDownList("MyList", (IEnumerable<SelectListItem>)ViewData["myList"], "Select...")

どうもありがとうございました。

4

2 に答える 2

0

DropDownList は、特定のモデル インスタンスではなく、常に SelectListItem タイプのリストを探しています。これはほとんどの人がつまずくようです。

解決策は、表示したいリスト ( IEnumerable<string>) をに変換することですIEnumerable<SelectListItem>。最も簡単なアプローチはViewData["myList"] = new SelectList(manger.GetData(stringInput, SearchBy))、あなたの例でうまくいくかもしれないし、うまくいかないかもしれないようなものです。

私は個人的に、モデルのビューを 1 つのプロパティとして、SelectList を別のプロパティとして構成する ViewModel を使用しています。結果を投稿すると、必要に応じて要素を引き出して、それぞれのデータベース/リポジトリ呼び出しに入れます。前は少し抽象化されていますが、ビュー側では少しすっきりしています。

于 2013-09-18T17:34:27.893 に答える