我是Razor的新手,我不明白为什么我选择的值不起作用。
var listItems = (List<Categories>)ViewBag.Categories;
用于
@for (var i = 0; i < Model.TagActivities.Count; i++)
{
<tr>
@Html.HiddenFor(modelItem => Model.TagActivities[i].TAGActivityId, new { htmlAttributes = new { @class = "form-control" } })
@Html.HiddenFor(modelItem => Model.TagActivities[i].CategoryId, new { htmlAttributes = new { @class = "form-control"
<td>
@Html.EditorFor(modelItem => Model.TagActivities[i].ActivityName, new { htmlAttributes = new { @class = "form-control" } })
</td>
<td>
@Html.EditorFor(modelItem => Model.TagActivities[i].ActivityDescription, new { htmlAttributes = new { @class = "form-control" } })
</td>
<td>
@Html.DropDownListFor(modelItem => Model.TagActivities[i].Category.CategoryName, new SelectList(listItems, "CategoryId", "CategoryName", Model.TagActivities[i].Category.CategoryName), new { @class = "form-control" })
</td>
<td>
@Html.EditorFor(modelItem => Model.TagActivities[i].AlertMinutes, new { htmlAttributes = new { @class = "form-control" } })
</td>
<td>
@Html.EditorFor(modelItem => Model.TagActivities[i].IsDefault)
</td>
</tr>
}
请帮忙。谢谢。
它不起作用,因为您传递的所选值在中的对象不是同一类型listItems
。一种可能的解决方案是更改传递给SelectList
所选对象的构造函数的值:
new SelectList(listItems, "CategoryId", "CategoryName", Model.TagActivities[i].Category)
该listItems
类型为对象的列表Categories
。因此,作为选定对象,您应该传递此类型的对象。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句