Когда я создаю этот список, используя T4 Templete, он дает мне исключение NullReferenceException - PullRequest
0 голосов
/ 14 марта 2019

Я пытался составить список всех пользователей, и я попробовал этот код, и он дает мне исключение NullReferenceException, я пытался ввести его вручную, а затем, когда возникли проблемы, я попытался скомпоновать его, используя Список T4Шаблон, но он все еще не сработал

@model IEnumerable<Aroma.Models.user>

@{
    ViewBag.Title = "ManageUsers";
}

<h2>ManageUsers</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.username)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.pass)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.email)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.usertype.name)
        </th>
        <th></th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.username)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.pass)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.email)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.usertype.name)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id=item.id }) |
            @Html.ActionLink("Details", "Details", new { id=item.id }) |
            @Html.ActionLink("Delete", "Delete", new { id=item.id })
        </td>
    </tr>
}

</table>

1 Ответ

1 голос
/ 14 марта 2019

Вы пытаетесь отобразить имя свойства на итерации foreach. Вероятно, это так, поскольку я не думаю, что для этого требуется Attribute. Вы должны просто сделать:

@foreach (var item in Model) {
<tr>
    <td>
        @item.username
    </td>
    <td>
        @item.pass
    </td>
    <td>
        @item.email
    </td>
    <td>
        @item.usertype.name
    </td>
    <td>
        @Html.ActionLink("Edit", "Edit", new { id=item.id }) |
        @Html.ActionLink("Details", "Details", new { id=item.id }) |
        @Html.ActionLink("Delete", "Delete", new { id=item.id })
    </td>
</tr>

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...