我试图将视图包中的int值赋值给下拉列表。
视图
@Html.DropDownListFor(m => m.nStatusID, ViewBag.ReasonTypeList asSelectList,ViewBag.nStatusID, new { @class = "form-control" })
控制员的行动包括-
var Complaint = db.ComplaintRegistrations.SingleOrDefault(x => x.nCallID == id);
ViewBag.nStatusID = Complaint.nStatusID;
List<ReasonTypeMaster> ReasonTypeList = db.ReasonType.ToList();
ViewBag.ReasonTypeList = new SelectList(ReasonTypeList, "nReasonTypeID", "cReasonType");
错误--“System.Web.Mvc.HtmlHelper”没有名为“DropDownListFor”的适用方法,但似乎有一个名为“DropDownListFor”的扩展方法。不能动态地分派扩展方法。考虑转换动态参数,或者在不使用extension语法的情况下调用扩展方法。
发布于 2019-08-30 06:51:30
看起来,您想要设置下拉列表的选定值,因为您需要在模型对象中设置它,助手将负责设置为selected。试着像:
var Complaint = db.ComplaintRegistrations.SingleOrDefault(x => x.nCallID == id);
if(Complaint != null)
model.nStatusID = Complaint.nStatusID;
List<ReasonTypeMaster> ReasonTypeList = db.ReasonType.ToList();
ViewBag.ReasonTypeList = new SelectList(ReasonTypeList, "nReasonTypeID", "cReasonType");
return View(model);
在你看来,你只需要:
@Html.DropDownListFor(m => m.nStatusID,
ViewBag.ReasonTypeList asSelectList,
new { @class = "form-control" })
m.nStatusID
将具有在控制器操作中设置的值,并将填充在下拉元素中选择的值。
https://stackoverflow.com/questions/57721790
复制相似问题