抱歉,我不会尝试用技术术语来解释我的问题,我会尝试基本的英语-我想让我已经选择了当前选定经销商的情况下在我的视图中显示我的选择列表(下面有更多详细信息)。先感谢您。
我有一个产品,该产品存储在自己的数据表中,该数据表由经销商出售,而针对该产品,我存储了出售该产品的经销商编号。
我从经销商数据表中获得经销商编号。
在网页上,我创建了一个销售产品时的下拉列表,用户可以选择销售该产品的经销商名称。我设法创建了一个显示名称的列表,但是当选择该ID将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>
最佳答案
您将model.Name
存储到Value
的SelectListItem
,但是它应该是与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/