【发布时间】:2020-02-18 12:52:08
【问题描述】:
我正在尝试将用户列表中的用户发送到部分视图,但部分视图只接收列表中的第一个用户。代码正确显示了用户名和操作链接以进行配置,但由于某种原因,每次迭代中只有列表中的第一个用户被发送到部分视图。
我要做的是在单击删除按钮时动态显示“confirmDelete”部分视图并删除正确的用户。
感谢您的帮助!
编辑: 我想我现在看到了问题,我在每个部分视图中将指向 Delete-Action 的 URL 命名为“RedirectTo”,并且所有部门都有相同的 id.. 仍然不知道如何解决它。
主视图:
@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>
【问题讨论】:
标签: asp.net asp.net-mvc-partialview