@HTML Dropdownlist选定的值

乔雷尔·莫拉托(Jorel Molato)

我是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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章