Частичное представление HTML в Foreach - PullRequest
0 голосов
/ 24 декабря 2018

Мои индексные представления в MVC содержат ряд действий для каждой строки, например:

@foreach (var item in Model)
{
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.SomeProperty)
        </td>
        <td>
            <a asp-action="Edit" asp-route-id="@item.ID" class="btn btn-warning" style="margin-top: -8px">
                <span class="fa fa-pencil" alt="Edit" />
            </a>
            <a asp-action="Details" asp-route-id="@item.ID" class="btn btn-primary" style="margin-top: -8px">
                <span class="fa fa-info-circle" alt="Details" />
            </a>
            <a asp-action="Delete" asp-route-id="@item.ID" class="btn btn-danger" style="margin-top: -8px">
                <span class="fa fa--trash" alt="Delete" />
            </a>
        </td>
    </td>
}

Есть и другие индексные страницы, на которых 3 кнопки будут повторно использованы, так что уже предлагается частичное представление для сохранения.избыточный код, другая часть - мне нужно иметь тег alt в диапазонах для соответствия 508, поэтому я хочу, чтобы частичное представление помогло с согласованностью.

Проблема в том, что если я просто скопирую и вставлю 3 кнопки впри частичном просмотре я получаю «Имя« item »не существует в текущем контексте», и если я пытаюсь перенести foreach, я получаю более одного набора кнопок в каждой строке.Есть идеи?

1 Ответ

0 голосов
/ 24 декабря 2018

Я считаю, что ваша проблема связана с моделью, которую вы не передали частичному.Есть несколько способов передать вашу модель в частичное представление.

Представьте, что у вас есть индексное представление с моделью:

@model YourProjectNameSpace.Models.NameOfModel
......//Other HTML codes

, если вы хотите вызвать частичное представление внутри этого представления, вам следует передать модель:

@Html.Partial("_MyPartial",Model)

Также внутри вашего частичного представления вам необходимо добавить следующую строку в начале:

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