0

我正在尝试从要编辑的数据库中获取详细信息。它实际上工作正常,我的问题是我还试图将数据库中的数据填充到两个下拉列表(这些下拉列表与“创建”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 回答