Использование режима начальной загрузки для просмотра текста ячейки таблицы на странице бритвы - PullRequest
0 голосов
/ 21 июня 2019

У меня есть HTML-таблица, в которой перечислены истории комментариев для части.Мне бы хотелось, чтобы в столбце «Комментарий» была ссылка «Просмотреть здесь», при нажатии на которую открывается модальное окно для отображения комментария к выбранной записи.Итак, вместо вашего стандарта:

<td>
    @Html.DisplayFor(modelItem => item.Comment)
</td>

Я хочу что-то вроде этого:

<a data-toggle="modal" data-target="#SeeMoreModal">View Here</a>

    @* "See More" comment modal *@
    <div class="modal fade" id="SeeMoreModal" tabindex="-1" role="dialog" aria-hidden="true">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-body">
                    @Html.DisplayFor(modelItem => item.Comment)
                </div>
            </div>
        </div>
    </div>

Вот полное тело таблицы:

@foreach (var item in Model.CmtPartComments)
{
<tr>
    <td>
        @Html.DisplayFor(modelItem => item.System.Description)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.EnterBy)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.EnterDt)
    </td>
    <td>
    <a data-toggle="modal" data-target="#SeeMoreModal">View Here</a>

    @* "See More" comment modal *@
    <div class="modal fade" id="SeeMoreModal" tabindex="-1" role="dialog" aria-hidden="true">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-body">
                    @Html.DisplayFor(modelItem => item.Comment)
                </div>
            </div>
        </div>
    </div>
    </td>
</tr>
}

Проблема в следующем:Мой метод onget для этой страницы устанавливает идентификатор комментария специально для самого последнего комментария к этой части (причина в том, что я также использую эту страницу для отображения самого последнего комментария в поле ввода, которое пользователи могут обновлять).Из-за этого, когда вы нажимаете «Просмотреть больше», он всегда показывает комментарий этого идентификатора, а не тот, который вы на самом деле выбираете.

То, что я пробовал: я предположил, что это означало, что мне нужно было передать идентификатор и получитьдругой метод onget, который запускается каждый раз, когда вы нажимаете «View More», чтобы установить идентификатор комментария для выбранного.Я попробовал это, и ничего не меняется.Я предполагаю, что это потому, что вы ничего не можете передать или запустить метод, просто открыв модальное?(Я также попытался использовать «data-id =» @ item.Id »).

<a asp-route-id="@item.Id" asp-page-handler="comment" data-toggle="modal" data-target="#SeeMoreModal">View Here</a>
public async Task OnGetCommentAsync(int? id)
{
    CmtPartComment = await _context.CmtPartComments.FirstOrDefaultAsync(m => m.Id == id);
}

В итоге ... используя модал, как вы можете заставить его распознавать Id, выбранный изтаблицу и просмотреть данные взамен?

...