抱歉,我不会尝试使用技术术语来解释我的问题,我会尝试使用基本的英语 - 我希望我的选择列表显示在我的 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
存储到 SelectListItem
的 Value
中,但它应该是与 model 的值相对应的属性.Dealer_ID
rr.ID
或 rr.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/