Asp.net mvc MVC Actionlink&;引导模式提交
我正在开发一个MVC5Web应用程序。在我的一个Razor视图中,我有一个表,可以输出几行数据。每行数据旁边都有一个删除按钮。当用户点击删除按钮时,我想弹出引导模式,并要求用户确认删除Asp.net mvc MVC Actionlink&;引导模式提交,asp.net-mvc,twitter-bootstrap,bootstrap-modal,Asp.net Mvc,Twitter Bootstrap,Bootstrap Modal,我正在开发一个MVC5Web应用程序。在我的一个Razor视图中,我有一个表,可以输出几行数据。每行数据旁边都有一个删除按钮。当用户点击删除按钮时,我想弹出引导模式,并要求用户确认删除 @foreach (var item in Model.Data) { <tr> <td>...</td> <td>@Html.ActionLink("Delete", "Delete", new { id = item.ID }, new { @class =
@foreach (var item in Model.Data) {
<tr>
<td>...</td>
<td>@Html.ActionLink("Delete", "Delete", new { id = item.ID }, new { @class = "btn btn-danger btn-xs", data_toggle = "modal", data_target = "#myModal" })</td>
</tr>
}
@foreach(Model.Data中的变量项){
...
@ActionLink(“Delete”,“Delete”,new{id=item.id},new{@class=“btn-btn-danger-btn-xs”,data_-toggle=“modal”,data_-target=“#myModal”})
}
实际上,当用户单击Delete按钮时,模式会弹出,但我似乎无法获取Actionlink参数中的ID以传递给模式中的Confirm按钮,从而将其发送到控制器中的Delete操作
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">Delete Nomination</h4>
</div>
<div class="modal-body">
Are you sure you wish to delete this nomination?
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
<button type="button" id="mySubmit" class="btn btn-primary">Confirm</button>
</div>
</div>
</div>
</div>
&时代;
删除提名
您确定要删除此提名吗?
取消
证实
有人能帮忙吗
谢谢。您需要在第二次删除后输入一个空值,这样它应该可以正常工作,但您仍然会遇到问题,因为它将尝试并做的是在您的模式中打开页面。要实现您想要做的事情,最好的方法是对服务器进行ajax调用,并在成功后将数据返回到周围的div中您的模态为您分配一个单击事件模态sumbit按钮,该按钮创建一个ajax回调给您的控制器,并将您的ID存储在一个隐藏字段中。我可以给你一个例子,如果你需要一个,它应该是新的{id=itemin.id}而不是item.id吗?因为您将变量名声明为itemin@heymega谢谢你的回复。一个例子或一段代码就好了。我不知道如何将ActionLink参数ID放入隐藏字段?@heymega pls Example回答得很好。即使你的代码不是100%正确,我仍然可以从这里开始工作。再次感谢。无法从#item中获取要删除的id在引导文档中,它说我们可以选择使用javascript或数据属性来归档相同的内容。那么,在没有javascript的情况下,我们如何使用数据属性来做到这一点呢?@tgriffiths你能告诉我你是如何让它工作的吗?我如何将html.AntiforgeryToken添加到锚定链接或JS中的某个地方?这不是答案,而是评论。作为答案发布的评论可能会被删除。有关更多信息,请查看此
<script type="text/javascript">
//Everytime we press delete in the table row
$('.delete').click(function(e) {
e.preventDefault();
//Update the item to delete id so our model knows which one to delete
var id = $(this).data('id');
$('#item-to-delete').val(id);
});
//Everytime we press sumbit on the modal form...
$('#mySubmit').click(function() {
//Get the id to delete from the hidden field
var id = $('#item-to-delete').val();
//Call our delete actionresult and pass over this id
$.post(@Url.Action("Delete", "Delete"), { id : id } , function (data) {
alert("Deleted");
});
});
</script>
@Html.Hidden("item-to-delete", "", new { @id = "item-to-delete"})
@foreach (var item in Model.Data) {
<tr>
<td>...</td>
<td><a href="" class="btn btn-danger btn-xs delete" data-toggle= "modal" data-target="#myModal" data-id="@item.id">Delete</a></td>
</tr>
}
public ActionResult Delete(Guid id)
{
}