2015-01-08 3 views
1

안녕하세요. 편집 및 삭제를 추가하려고하지만 삭제하지 않는 작업은 여기 내 목록 코드입니다.Asp .Net Mvc Delete Doesnt work

@foreach (var item in Model.Haberler) 
          { 
           <tr id="@item.Id" data-trid="[email protected]"> 
            <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 }); 
    } 

그리고 AdminBaseController를 보내 삭제합니다. 내가 삭제 아이콘을 클릭

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(); 
    } 

브레이크 포인트 나던 작품이 문제가 될 수있는 것을 단지 빈 처럼 아무것도하지 않습니다?

삭제 버튼을 클릭하면 콘솔에서이 오류가 발생합니다. 아래 <a>에 대한

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 
+0

Db.Entry (항목) .State = EntityState.Deleted; 항목을 제거한 후에이 작업을 수행하십시오. – Monah

+0

여전히 동일 컨트롤러에서 삭제를 찾는 데 문제가 있다고 생각합니다. – Jackal

+2

'삭제'옵션은 실제로 앵커 태그이지만 href는 실제로 아무 데나 가리키고 있지 않습니다. URL이 필요하지 않습니까? – Thangadurai

답변

1

h 제 :

<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> 

사용 아약스는 다음과 같이 컨트롤러를 호출 작동하지 않습니다. beacause 잘못된 방법으로 호출하고 있습니다. 이와 같은 삭제 동작을 호출하려면 다른 동작 proc로 리디렉션해야합니다. "현재보기/행동"으로 돌아갑니다.

<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); 
      } 
     }); 
    }); 
}); 

이 삭제 방법은 메시지의 본문을 받아 봐하지 않는 당신은 Ajax와 jQuery로 정말 간단하게이 작업을 수행 할 수 있습니다,이 샘플입니다 Http 동사 사용은 작업 이름 때문에 삭제됩니다. 매개 변수는 URL의 queryString에 있어야합니다.

+0

아직 경고가 없습니다. ReferenceError : bootbox가 console.I에 정의되어 있지 않습니다. 왜 오류 기능이 나타나지 않습니다. – Jackal

+0

페이지 머리글에 넣으십시오. renefc3

+0

예 bootbos.min.js가 삭제 된 것을 보았습니다. 문제 감사 =) – Jackal

0

추가 클래스 이름 : 삭제 방법 beacause를 작동하지 않습니다

$(function(){ 
    $(".delete").click(function() { 
    $.ajax({ 
     url: $(this).attr("data-url"), 
     data: "Id="+$(this).attr("data-id"), 
     success: function (data) { 
     // do stuff 
     } 
    }); 
    }); 
}); 
+0

나는 또한 그걸 시도해 봤어. 그리고 또한 지금은 단지 그 경보가 울렸을 때도 아무 것도 울리지 않았다. – Jackal

+0

자바 스크립트 오류가 있다면 화식을 점검해라. –

+0

오류 – Jackal