Как я могу отобразить вещи только один раз в файле cshtml - PullRequest
0 голосов
/ 24 июня 2019

Я делаю проект ASP.NET, и я никогда не работал с этим раньше, у меня проблема в файле cshtml, во-первых, я знаю, что у меня есть foreach, и значения будут появляться более одного раза, но код не работает, если я помещаю @ Html.LabelFor и @ Html.DisplayNameFor вне foreach и создаю другую переменную, я хочу отобразить это только один раз, и я не знаю, как это сделать

@foreach (var pap in Model.PessoasEpisodios)
{

    <tr>
        <th>
            @Html.LabelFor(a => pap.Episodios.Temporadas.Series.Nome, "Nome Série")

        </th>
        <th>

            @Html.LabelFor(a => pap.Episodios.Temporadas.Nome, "Nome Temporada")
        </th>
        <th>
            @Html.DisplayNameFor(a => pap.Episodios.Nome)
        </th>
        <th>
            @Html.DisplayNameFor(a => pap.Papel)
        </th>
    </tr>


    <tr>
        <td>
            @Html.DisplayFor(a => pap.Episodios.Temporadas.Series.Nome)
        </td>
        <td>
            @Html.DisplayFor(a => pap.Episodios.Temporadas.Nome)
        </td>
        <td>
            @Html.DisplayFor(a => pap.Episodios.Nome)
        </td>
        <td>
            @Html.DisplayFor(a => pap.Papel)
        </td>
    </tr>
}

1 Ответ

0 голосов
/ 24 июня 2019

Model.PessoasEpisodios ссылки на список или перечислимый в вашем случае, который не хранит атрибуты, которые вы хотите получить доступ. Это означает, что атрибуты, к которым вы хотите получить доступ, существуют в элементах, которые он содержит. Таким образом, чтобы получить к нему доступ, вы можете получить первый индекс вашего списка и отобразить его атрибуты (они есть у всех итераций списка, но, если в вашем списке есть элементы, это, вероятно, самый безопасный вариант).

И, насколько я знаю, это единственный путь.

<th>
     @Html.DisplayNameFor(a => pap.Episodios[0].Nome)
</th>

EDIT: В этом случае вы также можете использовать Single или SingleOrDefault вместо [0]. Это в основном близко к тому же.

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