如何在ViewModel中使用foreach循环?

时间:2019-08-19 06:17:51

标签: c# asp.net asp.net-core

我需要在我的视图中使用ViewModel,但出现错误Null引用异常(foreach(模型中的var项))(item = null)。我该如何克服呢?

控制器:

public async Task<IActionResult> Index(int? page)
        {
            var pagesList = from m in _BSXCertAssignmentsItem.All select m;

            int pageSize = 20;
            int pageNumber = (page ?? 1);
            var pagedPages = pagesList.ToPagedList(pageNumber, pageSize) as PagedList<BSXCertAssignmentsViewModel>;

            var idlist = _BSXCSRServiceItem.All.Where(x => x.SERVICE_ID != 0);

            return View(pagedPages);
        }

ViewModel:

public class BSXCertAssignmentsViewModel
    {
        public BSXCertAssignments certAssignments { get; set; }
        public BSXCSRService service { get; set; }
    }

查看:

@model PagedList<BSXCertAssignmentsViewModel>
.
.
.
 @foreach (var item in Model)
                            {
                                <tr class="clickable-row" data-href="/BSXMCertAssignments/Edit/@item.certAssignments.CERT_ASSIGNMENT_ID">
                                    <td>
                                        @Html.DisplayFor(modelItem => item.certAssignments.CERT_ASSIGNMENT_ID)
                                    </td>
                                    <td>
                                        @Html.DisplayFor(modelItem => item.certAssignments.CERT_ASSIGNMENT_NAME)
                                    </td>
                                    <td>
                                        @Html.DisplayFor(modelItem => item.certAssignments.SERVICE_ID)
                                    </td>
                                    <td>
                                        @Html.DisplayFor(modelItem => item.certAssignments.REG_ID)
                                    </td>
                                    <td style="width:120px">
                                        <a asp-action="Delete" asp-route-id="@item.certAssignments.CERT_ASSIGNMENT_ID">
                                            <div class="bt_cl admin-bt-dl">
                                                <i class="fa fa-trash-o admin-icon pull-left" aria-hidden="true"></i>
                                            </div>
                                        </a>
                                        <a asp-action="Edit" asp-route-id="@item.certAssignments.CERT_ASSIGNMENT_ID">
                                            <div class="bt_cl admin-bt-edit">
                                                <i class="fa fa-pencil-square-o admin-icon pull-left" aria-hidden="true"></i>
                                            </div>
                                        </a>
                                    </td>
                                </tr>
                            }

我知道当我在“模型”中键入“ var item”时,它应该为null,因为ViewModel本身不包含项目,它只是引用某些模型,但是这种理解并不能帮助我解决问题。

0 个答案:

没有答案