MVC 5选择显示当前选择的列表项

时间:2016-01-13 13:56:20

标签: c# asp.net-mvc razor selectlistitem

我道歉,我不会尝试使用技术术语来解释我的问题,我会尝试基本的英语 - 我想让我的选择列表出现在我的视图中,他已选择当前选定的经销商(详情如下)。先谢谢你。

我有一个产品存储在自己的数据表中,该数据表由经销商和我存储的经销商编号的产品销售。

我从经销商数据表中获取经销商编号。

在网页上,我在销售产品时创建一个下拉列表,用户选择销售该产品的经销商名称。我已经设法创建了显示名称的列表,但是当选择将ID存储在经销商的产品表中时,这是正常的。

我正在苦苦挣扎当我来编辑产品时出现选择列表并显示当前所选经销商,它总是出现在列表中的第一个经销商处。我搜索过但是由于我从其他SO帖子中得到了这个代码,我找不到一个符合我的代码示例的帖子。

非常感谢任何反馈/帮助/建议。

控制器

            // Create drop down list of dealer names to allow users to select from easily identifiable list rather than find number first before coming to the page.
        var list = db.Dealers.OrderBy(r => r.Name).ToList().Select(rr =>
        new SelectListItem { Value = rr.Name.ToString(), Text = rr.Name }).ToList(); // Require to code and set value based on current selected name.

        ViewBag.DealerName = list;

Razor查看代码:

            <div class="form-group">
            @Html.LabelFor(model => model.Dealer_ID, htmlAttributes: new { @class = "control-label col-md-4" })
            <div class="col-md-8">
                @*
                @* Custom display for drop down list which shows Dealer Name instead of numeric ID Value *@
                @Html.DropDownListFor(m => m.Dealer_ID, (IEnumerable<SelectListItem>)ViewBag.DealerName, new { htmlAttributes = new { @class = "form-control" } })
            </div>
        </div>

1 个答案:

答案 0 :(得分:3)

您将model.Name存储到Value的{​​{1}},但它应该是与SelectListItem的值相对应的属性

model.Dealer_IDrr.ID

rr.Dealer_ID