操作符& # 39;= = & # 39;不能应用于int和'Model'类型的操作数
本文关键字:Model 类型 操作数 应用于 不能 操作符 int | 更新日期: 2023-09-27 18:04:09
我知道这个错误是在这里几次,但我找不到解决我的特殊问题的方法。
我有一个包含foreach loop
的表,它填充了表数据,如下所示,这个表还具有扩展/关闭功能,在这个表中,我想显示相关部分中的所有组。错误Operator '==' cannot be applied to operands of type 'int' and 'GroupSection'
出现在行:
if (item.SectionID == item.GroupSectionID)
我想确保只有当它的GroupSectionID与特定循环中的SectionID相同时,组的详细信息才能出现
表<table class="table table-striped">
<!-- Render the table headers. -->
<thead>
<tr>
<th class="col-md-1">+</th>
<th class="col-md-2">Section ID</th>
<th class="col-md-3">Section Name</th>
</tr>
</thead>
<tbody>
<!-- Render the details of each employee. -->
@foreach (var item in Model)
{
<tr>
<td class="col-md-1">+</td>
<td class="col-md-2">@Html.DisplayFor(model => item.SectionID)</td>
<td class="col-md-3">@Html.DisplayFor(model => item.SectionName)</td>
</tr>
if (item.SectionID == item.GroupSectionID)
{
<tr>
<td class="col-md-1" colspan="3">@Html.DisplayFor(model => item.GroupID)</td>
<td class="col-md-2" colspan="3">@Html.DisplayFor(model => item.GroupName)</td>
</tr>
}
}
</tbody>
</table>
public class SectionDetail
{
public int SectionID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public GroupDetail GroupSectionID { get; set; }
}
public class GroupDetail
{
public int GroupID { get; set; }
public string GroupDescription { get; set; }
public string GroupName { get; set; }
public int GroupSectionID { get; set; }
public string SectionName { get; set; }
}
提前感谢,我是相对较新的堆栈,所以如果你需要更多的信息等,请告诉我
您正在比较int
和复杂类型GroupDetail
。
if (item.SectionID == item.GroupSectionID.GroupSectionID)
我认为你正在寻找GroupDetail
类中的GroupSectionID
属性。
为了防止将来混淆:
我建议从引用其他类的属性中删除ID
后缀。这样你就不会再把它误认为是int
了:)
你试图让编译器比较两种不同的类型。
项目。SectionID是int type
,而item.GroupSectionID
是class type
。
改变你的比较,以表示你真正想比较的东西,类似于:
if (item.SectionID == item.GroupSectionID.GroupSectionID)