C# @HTML下拉列表所选值
我是Razor的新手,我不明白为什么我选择的值不起作用C# @HTML下拉列表所选值,c#,asp.net,razor,C#,Asp.net,Razor,我是Razor的新手,我不明白为什么我选择的值不起作用 var listItems=(List)ViewBag.Categories 用于 @for (var i = 0; i < Model.TagActivities.Count; i++) { <tr> @Html.HiddenFor(modelItem => Model.TagActivities[i].TAGActivityId, new { htmlAttributes = new {
var listItems=(List)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>
}
for(var i=0;iModel.TagActivities[i].TAGActivityId,new{htmlAttributes=new{@class=“form control”})
@Html.HiddenFor(modeleItem=>Model.TagActivities[i].CategoryId,new{htmlAttributes=new{@class=“表单控件”
@EditorFor(modelItem=>Model.TagActivities[i].ActivityName,new{htmlAttributes=new{@class=“form control”})
@EditorFor(modelItem=>Model.TagActivities[i].ActivityDescription,new{htmlAttributes=new{@class=“form control”})
@Html.DropDownListFor(modelItem=>Model.TagActivities[i].Category.CategoryName,新选择列表(listItems,“CategoryId”,“CategoryName”,Model.TagActivities[i].Category.CategoryName),新{@class=“form control”})
@EditorFor(modelItem=>Model.TagActivities[i].AlertMinutes,new{htmlAttributes=new{@class=“form control”})
@EditorFor(modelItem=>Model.TagActivities[i].IsDefault)
}
请提供帮助。谢谢。它不起作用,因为您传递的所选值在
listItems
中的对象处不是同一类型。一种可能的解决方案是更改您传递给所选对象的SelectList
构造函数的值:
new SelectList(listItems, "CategoryId", "CategoryName", Model.TagActivities[i].Category)
listItems
是类型为Categories
的对象列表。因此,作为选定对象,您应该传递此类型的对象。它不起作用,因为您传递的选定值与listItems
中的对象的类型不同。可能的解决方案是更改传递给cons的值所选对象的SelectList
传送者:
new SelectList(listItems, "CategoryId", "CategoryName", Model.TagActivities[i].Category)
listItems
是类型为Categories
的对象列表。因此,作为选定对象,您应该传递此类型的对象。listItems看起来像什么?@James只是一个包含两列的列表(“CategoryId”、“CategoryName”)listItems
看起来像什么?@James只是一个包含两列的列表(“CategoryId”、“CategoryName”)