Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# @HTML下拉列表所选值_C#_Asp.net_Razor - Fatal编程技术网

C# @HTML下拉列表所选值

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 {

我是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 { @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”)