Я пытаюсь отправить пользователя в списке пользователей для частичного просмотра, но частичный просмотр занимает только первого пользователя в списке. Код правильно отображает имя пользователя и ссылку action на профиль, но по какой-то причине только первый пользователь в списке отправляется в частичное представление на каждой итерации.
То, что я хочу сделать, - это динамическое отображение частичного представления «verifyDelete» при нажатии кнопки удаления и удаление нужного пользователя.
Помощь приветствуется!
Редактировать: Мне кажется, что я вижу проблему сейчас, я называю URL, указывающий на действие удаления "RedirectTo" в каждом частичном представлении, и также все подразделения имеют одинаковый идентификатор. Все еще не знаю, как чтобы исправить это, хотя.
MainView:
@foreach (var item in ViewBag.UsersList as List<CommonLibrary.User>)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.UserName)
</td>
<td>
@Html.ActionLink("Profile", "ProfilePage", new { id = item.UserId }) |
@{
var user = Homepage.Service.SessionHelper.GetSessionUser(Context);
if (user != null && user.GetType().ToString() == "CommonLibrary.Operator" && item.UserId != user.UserId)
{
<button id="@item.UserId" class="btn-danger" onclick="confirmDelete()">Delete</button>
<div style="width:40%; float:right;">
@{
await Html.RenderPartialAsync("_ConfirmDelete", item);
}
</div>
}
}
</td>
</tr>
}
Частичное представление:
@model CommonLibrary.User
@Html.Hidden("RedirectTo", Url.Action("Delete", "Users", new { id = Model.UserId }))
<div style="display:none" id="confDelete">
<div>
<b>Are you sure you want to delete user: @Model.UserName?</b>
</div>
<button id="Yes" class="btn-danger" onclick="deleteConfirmed()">Yes</button>
<button id="No" class="btn-secondary" onclick="hideDelete()">No</button>
</div>
<script>
function confirmDelete() {
$("#confDelete").show();
$("#del_btn").hide();
}
function hideDelete() {
$("#confDelete").hide();
$("#del_btn").show();
}
function deleteConfirmed() {
var url = $("#RedirectTo").val();
location.href = url;
}
</script>