【发布时间】:2021-07-15 09:26:10
【问题描述】:
我正在尝试,尝试和尝试,但我没有找到解决方案.. :( 如果有经验的人可以看看就好了。
我的情况:
我有一个包含多行的表和一个带按钮的行。如果那些是“取消”按钮来删除数据记录。一般来说,这工作得很好,但我实现了一个模式对话框,在处理取消之前询问用户是否真的确定取消它。 由于我实现了模态对话框,因此在按钮上单击所选行总是会更改为第一行,而不是用户单击的行。因此,如果用户点击第 2 行中的“取消”按钮,它会在模态弹出窗口中显示第 1 行的数据,并将第 1 行的 ID 重定向到控制器。
我的观点:
@model ViewModels.ServicesViewModel
<table class="table table-hover">
<tr>
<th>DB Name</th>
<th>DB Description</th>
<th>DB Version</th>
<th>Access valid until</th>
<th>Action</th>
</tr>
@foreach (var item in Model.AssignedDatabases)
{
<tr>
<td style="width:20%">@item.DB_Name</td>
<td style="width:35%">@item.DB_Description</td>
<td style="width:10%">@item.DB_Version</td>
<td style="width:15%">@item.ExpiryDate</td>
<td style="width:20%">
@if (item.RequestState.Equals("Open"))
{
<a href="#"><i class="btn btn-info btn-md" style="font-family:Arial">Pending</i></a>
}
else
{
<a href="#"><i data-toggle="modal" data-target="#exampleModal" class="btn btn-danger btn-md" style="font-family:Arial">Cancel</i></a>
}
@if (Model.ResponsibleDBs.Exists(x => x.DB_UID == item.DB_UID))
{
<a href="@Url.Action("Manage", new { id = item.DB_UID })"><i class="btn btn-success btn-md" style="font-family:Arial">Manage</i></a>
}
@using (Html.BeginForm("Delete", "AssignedDatabases", FormMethod.Post))
{
<div id="exampleModal" class="modal" tabindex="3" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Do you really want to cancel the access to @item.DB_Name ?</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-footer">
<a href="@Url.Action("Delete", new { id = item.DB_UID })"><i class="btn btn-success btn-md" style="font-family:Arial">Yes</i></a>
<a href=""><i data-dismiss="modal" class="btn btn-danger btn-md" style="font-family: Arial">No</i></a>
</div>
</div>
</div>
</div>
}
</td>
</tr>
}
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td>
<a href="@Url.Action("RequestDatabase", "RequestDatabase")"><i class="btn btn-success btn-md" style="font-family:Arial">Request new</i></a>
</td>
</tr>
</table>
<script type="text/javascript">
$(function () {
$('body').on('click', 'a.modal-link', function (e) {
e.preventDefault();
$("#modal").remove();
// Get the Details action URL
var url = $(this).attr("href");
//Make the Ajax call and render modal when response is available
$.get(url, function (data) {
$(data).modal();
});
});
});
</script>
有人知道我做错了什么吗?谢谢!
BR, 菲尔
【问题讨论】:
标签: c# asp.net asp.net-mvc bootstrap-4 bootstrap-modal