MVC 5 ASP.NET IEnumerable 不包含<Item>"Inspection"的定义,也没有扩展方法"inspection"接受类型的第一个参数



我正在尝试在项目索引视图中显示从我的检查模型中显示某些数据。他们目前有m:m关系。

这是错误

错误cs1061' IEnumerable<Item>'不包含" Inspection''的定义,也没有扩展方法' Inspection'接受类型' IEnumerable<Item>'的第一个参数(您是否缺少使用指令或汇编引用?(

有建议吗?谢谢你

这是项目索引

@model IEnumerable<NCSafety.Models.Item>
<table class="table">
    <tr>
        <th>
            Hazard Picture
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Hazard.hazName)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Inspection.ID)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.itemCorrActionDue)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.itemCorrActionCompleted)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.itemComment)
        </th>
        <th></th>
    </tr>
    @foreach (var item in Model)
    {
        <tr>
            <td>
                @{
                    if (item.imageContent != null && 
                     item.imageMimeType.Contains("image"))
                    {
                        string imageBase64 = 
                        Convert.ToBase64String(item.imageContent);
                        string imageSrc = string.Format("data:" + 
                        item.imageMimeType + ";base64,{0}", imageBase64);
                        <img src="@imageSrc" style="max-height:100px; max-
                        width:120px" class="img-responsive img-rounded" />
                    }
                }
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Hazard.hazName)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Inspection.ID)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.itemCorrActionDue)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.itemCorrActionCompleted)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.itemComment)
            </td>
            <td>
                <a href="/Items/Edit/@item.ID"><div class="glyphicon 
                 glyphicon-pencil" style="margin-right:30px"></div></a>
                <a href="/Items/Details/@item.ID"><div class="glyphicon 
                 glyphicon-eye-open" style="margin-right:30px"></div></a>
                <a href="/Items/Delete/@item.ID"><div class="glyphicon 
                glyphicon-remove"></div></a>
            </td>
        </tr>
                    }
</table>
<table>
    @foreach (var item in Model.Inspection)
    {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.ID)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.SchoolID)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.inspDate)
        </td>
    </tr>
    }
</table>
                    if (Model.Count() == 0)
                    {
                        <h3>No Records Found.</h3>
                        <br />
                        <a href="/Items/Create" class="btn ncBtn">Add Item</a>
                        }
                    }
<a href="@Url.Action("DownloadPdf","Home")"> Download PDF</a>  

如果这是您的模型:

IEnumerable<NCSafety.Models.Item>

那么这些都无法使用:

@Html.DisplayNameFor(model => model.Hazard.hazName)

因为IEnumerable<T>没有任何这些属性。也许您打算钻入属性的IEnumerable<T>元素?这样的东西:

@Html.DisplayNameFor(model => model.First().Hazard.hazName)

(重复您的其他属性(

检查在模型对象中或组成模型的集合对象中。这可能不是两者。

相关内容

  • 没有找到相关文章

最新更新