0

データベースから詳細を取得して編集しようとしています。それは実際には正常に動作します。私の問題は、データベースから 2 つのドロップダウン リストにデータを入力しようとしていることです (これらのドロップダウン リストは「作成」ActionResult で正常に動作します)。

コントローラーにドロップダウンリストを含めてビューに渡す方法の例をいくつか教えてください。

以下を参照してください: コメント (//) 内の領域は私がやりたいことですが、ビューでフィールドが空になるだけです。コメントの外側の領域は正常に機能します (データベースから詳細を取得しますが、ドロップダウン リストはありません)。

 // GET: /PropertiesHut/EditRent/3
    public ActionResult EditRent(int id)
    {
        //AdDetail ad = db.AdDetails.Single(a => a.AdType == id);

        //var vm = new InsertAd()
        //     {
        //         AdDetail = ad,
        //         PropertyType = new SelectList(db.PropertyTypes.OrderBy(o =>
        //           o.PropertyName).ToList(), "PropertyId", "PropertyName"),

        //         State = new SelectList(db.States.OrderBy(o =>
        //           o.StateShortName).ToList(), "StateId", "StateShortName")
        //     };
        //return View(vm);

// これが機能します

        var viewModel = from a in db.AdDetails
                        where a.AdType == id
                        select a;

        return View(viewModel.FirstOrDefault());
    }
4

1 に答える 1

0

コントローラ:

ViewBag.RgnId = new SelectList(
     _db.Regions
     .OrderBy(r => r.name)
     .Select(x => new { x.id, x.name }), "id", "name", model.RgnId);

HTML:

@Html.DropDownListFor(model => model.RgnId, (SelectList)ViewBag.RgnId, "Any Region")
于 2013-06-11T23:02:37.583 に答える