作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的 create.aspx 之一中使用了一个下拉列表,但它似乎不起作用......
public IEnumerable<SelectListItem> FindAllMeasurements()
{
var mesurements = from mt in db.MeasurementTypes
select new SelectListItem
{
Value = mt.Id.ToString(),
Text= mt.Name
};
return mesurements;
}
public ActionResult Create()
{
var mesurementTypes = consRepository.FindAllMeasurements().AsEnumerable();
ViewData["MeasurementType"] = new SelectList(mesurementTypes,"Id","Name");
return View();
}
<p>
<label for="MeasurementTypeId">MeasurementType:</label>
<%= Html.DropDownList("MeasurementType")%>
<%= Html.ValidationMessage("MeasurementTypeId", "*") %>
</p>
DataBinding: 'System.Web.Mvc.SelectListItem' does not contain a
property with the name 'Id'.
最佳答案
在您的 Controller 中,您正在创建一个新的 SelectList
来自 IEnumerable<SelectListItem>
这是不正确的,因为您已经指定了 Value
和 Text
特性。
您有两个选择:
public ActionResult Create()
{
var mesurementTypes = consRepository.FindAllMeasurements();
ViewData["MeasurementType"] = mesurementTypes;
return View();
}
public ActionResult Create()
{
ViewData["MeasurementType"] = new SelectList(db.MeasurementTypes, "Id", "Name");
return View();
}
public ActionResult Create()
{
var measurementTypes = new SelectList(db.MeasurementTypes, "Id", "Name");
return View(measurementTypes);
}
<%= Html.DropDownList("MeasurementType", Model, "-- Select Value ---") %>
关于asp.net-mvc - 我在使用 asp.net-mvc 下拉列表时做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2756208/
我是一名优秀的程序员,十分优秀!