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

标签 c# asp.net-mvc razor selectlistitem

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

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

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

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

当我开始编辑产品并显示选择列表并显示当前选择的经销商时,我只是在挣扎,它总是与列表中的第一个经销商一起出现。我进行了搜索,但由于我将此代码与其他 SO 帖子混为一谈,因此找不到适用于我的代码示例的帖子。

我们将不胜感激任何反馈/帮助/建议。

Controller

            // 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 View 代码:

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

最佳答案

您将 model.Name 存储到 SelectListItemValue 中,但它应该是与 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();

关于c# - MVC 5 选择显示当前选择的列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34768568/

相关文章:

c# - 将图像添加到 wpf

C# WPF TextBox 在 Win10 中将 double.PositiveInfinity 显示为符号而不是文本

c# - 动态javascript错误

c# - MVC 2 需要什么版本的 .net?

c# - .Net 插件和版本控制

asp.net-mvc - 在 ASP.NET MVC View 中使用代码隐藏

c# - LINQ to SQL 插入失败

javascript - Jquery.Get 调用 Controller 方法并不总是有效

asp.net-mvc-3 - 如何使用 MVCContrib 和 Razor 制作寻呼机?

c# - 如何在asp.net mvc中仅显示帖子的前200个字符?