朋友们,您好朋友在mvc这个非常基本的问题,但是我找不到很多搜索。
控制:
if (objResponse.ErrorNo == 0)
{
lstReason.Add(new SelectListItem { Value = "1", Text = "Select" });
foreach (XElement xEle in resXml.Descendants("R"))
{
lstReason.Add(new SelectListItem { Value = xEle.Element("C1").Value, Text = xEle.Element("C2").Value });
}
ViewBag.ReasonCode = lstReason;
}
}
查看:
@Html.DropDownListFor(m => m.ReasonCode, new SelectList(ViewBag.ReasonCode, "Value", "Text"), new { @class = "form-control autofocus", @id = "ddlReason"
})
我只得到m => m.ReasonCode
但是如何从ViewBag.ReasonCode文本值中获取m.reason。
任何帮助都会非常感激。
答案 0 :(得分:1)
您的ViewBag
成员的名称不能与您的模型属性相同。 "选择"值由ModelState
确定,Request
由ViewData
,ViewBag
/ Model
和最后SelectListItem
的值组成。因此,您实际上是在说#34;选择" value应该是ViewBag
的整个列表,显然与该列表中的项不匹配。将您的ViewBag.ReasonCodeOptions
成员更改为STRING
,并且您会感觉良好。