1

抱歉,我不会尝试使用技术术语来解释我的问题,我会尝试基本的英语 - 我希望我的选择列表出现在我的视图中,并且已经选择了当前选择的经销商(更多详细信息如下)。先感谢您。

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

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

在网页上,我在产品销售时创建一个下拉列表,用户选择销售它的经销商名称。我设法创建了显示名称的列表,但是当Selected将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;

剃刀视图代码:

            <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>
4

1 回答 1

3

您存储model.NameValueof SelectListItem,但它应该是对应于值的属性model.Dealer_ID

rr.IDrr.Dealer_ID

var list = db.Dealers.OrderBy(r => r.Name).ToList().Select(rr =>
        new SelectListItem { Value = rr.Dealer_ID.ToString(), Text = rr.Name }).ToList();
于 2016-01-13T14:11:01.413 回答