asp .net mvc delete 不起作用
本文关键字:不起作用 delete mvc net asp | 更新日期: 2023-09-27 18:36:48
大家好,我正在尝试添加编辑和删除,但删除在这里不起作用是我列出的索引代码;
@foreach (var item in Model.Haberler)
{
<tr id="@item.Id" data-trid="tr_@item.Id">
<td>
<a href="javascript:;" class="btn btn-xs dropdown-toggle" data-toggle="sortable">
<i class="fa fa-reorder"></i>
</a>
</td>
<td>
<div class="btn-group">
<button type="button" class="btn btn-xs purple dropdown-toggle" data-toggle="dropdown" data-hover="dropdown" data-delay="1000" data-close-others="true">
İşlem <i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="@Url.Action("Edit", new { Id = item.Id })" data-title="Kayıt Güncelle"><i class="fa fa-edit"></i>Düzenle</a></li>
<li><a href="javascript:;" data-toggle="bsdelete" data-title="@item.Title" data-url="@Url.Action("Delete")" data-id="@item.Id"><i class="fa fa-trash-o"></i>Sil</a></li>
</ul>
</div>
</td>
<td><a href="@item.Resim" data-rel="fancybox-button" class="fancybox-button">@item.Title</a></td>
</tr>
}
这是我的控制器删除;
public ActionResult Delete(int? Id)
{
if (!Id.HasValue)
return Json(new { IsComplete = false });
try
{
var item = Db.Haberler.FirstOrDefault(p => p.Id == Id.Value);
UrunSil(item);
}
catch
{
return Json(new { IsComplete = false });
}
return Json(new { IsComplete = true });
}
我发送到管理员库控制器删除;
public void DosyaSil(string yol)
{
try
{
System.IO.File.Delete(Server.MapPath("~" + yol));
}
catch { }
}
public void UrunSil(News item)
{
DosyaSil(item.ResimBuyuk);
DosyaSil(item.ResimKucuk);
Db.Haberler.Remove(item);
Db.SaveChanges();
}
当我单击删除图标时断点不起作用,它什么都不做,就像空一样可能有什么问题?
当我单击删除按钮时,我在控制台上收到此错误;
Uncaught ReferenceError: bootbox is not definedglobal.js:113 (anonymous function)jquery-1.10.2.min.js:5 x.event.dispatchjquery-1.10.2.min.js:5 v.handle
删除不起作用,因为删除方法不起作用,因为您调用的方式错误,如果要调用这样的删除操作,则需要重定向到另一个操作进程并返回到"当前视图/操作"。你可以用Ajax和Jquery非常简单地做到这一点,这是一个示例:
<li><a class="delete" data-toggle="bsdelete" data-title="@item.Title" data-url="@Url.Action("Delete")" data-id="@item.Id"><i class="fa fa-trash-o"></i>Sil</a></li>
你需要这样做的js:
$(function(){
$(".delete").click(function () {
$.ajax({
type: "DELETE",
url: $(this).attr("data-url") + "?Id=" + $(this).attr("data-id"),
success: function (data) {
//Remake the search
},
error: function(jqXHR, exception, a, b){
alert(jqXHR.responseText);
}
});
});
});
Delete 方法不接收消息正文,Http 谓词用法是 Delete,因为操作的名称。因此,该参数需要在 URL 上的 queryString 中。
为<a>
添加类名,如下所示:
<li><a href="javascript:;" class="delete" data-toggle="bsdelete" data-title="@item.Title" data- url="@Url.Action("Delete")" data-id="@item.Id"><i class="fa fa-trash-o"></i>Sil</a></li>
使用 ajax 调用控制器,如下所示:
$(function(){
$(".delete").click(function () {
$.ajax({
url: $(this).attr("data-url"),
data: "Id="+$(this).attr("data-id"),
success: function (data) {
// do stuff
}
});
});
});