0

私のAddcar見解では、フォームを使用してデータベースにデータを挿入できます (テーブルにCar)。

テーブルには、テーブルCarcolonne (Idcat)関連する外部キーがありCategorieます。

したがって、追加フォームには、ユーザーが追加したい車のカテゴリを選択できるドロップダウンリストが必要です。

これは私の見解の一部です:

             <div class="editor-label">
    <p>
        <%: Html.LabelFor(model => model.Idcat) %>
    </p>
    </div>
    <div class="editor-field">
    <p>
    <!-- in this dropDownList i want to show the all Name Of Marque in my forgien table and user when he select value wil be set at id of selected marque -->
        <%: Html.DropDownListFor(model => model.Idcat, ViewBag.cat as SelectList)%>
        <%: Html.ValidationMessageFor(model => model.Idcat) %>
    </p>
    </div>

これは私のコントローラーアクションです:

        public ActionResult addcar()
    {

        ViewBag.cat = new SelectList(entity.categorie, "Idcat", "Nom"); 

        return View();
    }

これは、作成をクリックするまで正常に機能There is no ViewData item of type 'IEnumerable <SelectListItem>' with key 'Idcat'.し、この行でこのエラーが表示されます<%: Html.DropDownListFor(model => model.Idcat, ViewBag.cat as SelectList)%>

4

2 に答える 2

0

モデル バインディングは、実際には個々の要素のみをバインドします。だから、イドマルクを束縛するのはいいことだ。可能な値のドロップダウン リストを表示しても仕方がありません。EditorForModelの使用をやめさせるため、フレームワークに欠けているもののように思えます。ドロップダウンリストの取得をどのように処理するかを決定する必要があります。データベースにクエリを実行し、オプションのリストを描画する Html ヘルパーを用意してもよろしいですか? それとも、コントローラでモデル メソッドを呼び出してオプションのリストを取得し、それをビュー モデルの一部としてビューに渡したいですか? データリーダーを渡すと、接続の問題が発生する可能性があるため、おそらく避けたいと思います。

于 2012-04-11T21:29:23.413 に答える
0

ASP.Net MusicStore チュートリアルには、指定されたジャンルのリストから選択する例があります。ジャンルのリストは、コントローラーによって満たされるビューバッグを介してビューに渡されます。

MusicStore チュートリアル

これはおそらくまさにあなたが探しているものです。

于 2012-04-11T19:46:03.540 に答える