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

asp .net mvc delete 不起作用

删除不起作用,因为删除方法不起作用,因为您调用的方式错误,如果要调用这样的删除操作,则需要重定向到另一个操作进程并返回到"当前视图/操作"。你可以用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
       }
     });
  });
});