как передать модель из @html.частичный

ниже приведен мой код cshtml

ive использовал IEnumerable в основном виде и и один объект модели в частичном виде

я делаю операцию CRUD …каждая строка имеет кнопки Редактировать/подробнее/удалить

@model IEnumerable<jQuery_CRUD.DAL.User>
@foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.Name)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Address)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.ContactNo)
            </td>
            <td>
                @Html.ActionLink("Edit", "Edit", new { id = item.UserId }, new { @class = "modal-with-form btn btn-default" ,href = "#modalEdit" }) |
                @Html.ActionLink("Details", "Details", new { id = item.UserId }, new { @class = "modal-with-form btn btn-default", href = "#modalDetails" }) |
                @Html.ActionLink("Delete", "Delete", new { id = item.UserId }, new { @class = "modal-with-form btn btn-default", href = "#modalDelete" })             



                <div id="modalEdit" class="modal-block modal-block-primary mfp-hide">
                    @Html.Partial("Edit", item)
                </div>

                <div id="modalDetails" class="modal-block modal-block-primary mfp-hide">
                    @Html.Partial("Details", item)
                </div>


                <div id="modalDelete" class="modal-block modal-block-primary mfp-hide">
                    @Html.Partial("Delete", item)
                </div>




            </td>
        </tr>

при нажатии на кнопку Изменить / подробнее отображается информация только для первой строки таблицы

модель в частичном представлении, которое я использовал,

@model jQuery_CRUD.DAL.User

Как мне преодолеть это

1 ответ

  1. Это потому, что вы повторно используете один и тот же idатрибут для каждого itemв таблице, в то время как элемент idдолжен быть уникальным.

    Используйте item.UserIdдля назначения уникального idдля каждого:

    @Html.ActionLink("Edit", "Edit", new { id = item.UserId }, new { href = "#modalEdit" + item.UserId }) |
    @Html.ActionLink("Details", "Details", new { id = item.UserId }, new { href = "#modalDetails" + item.UserId }) |
    @Html.ActionLink("Delete", "Delete", new { id = item.UserId }, new { href = "#modalDelete" + item.UserId })
    
    <div id="modalEdit@(item.UserId)" class="modal-block modal-block-primary mfp-hide">
      @Html.Partial("Edit", item)
    </div>
    
    <div id="modalDetails@(item.UserId)" class="modal-block modal-block-primary mfp-hide">
      @Html.Partial("Details", item)
    </div>
    
    <div id="modalDelete@(item.UserId)" class="modal-block modal-block-primary mfp-hide">
      @Html.Partial("Delete", item)
    </div>