2017-06-18 53 views
0

試圖通過Ajax敲擊DeleteJobQuote控制器,但沒有運氣。如果有人有任何想法,請指導我。代碼看起來不錯,但無法做到。我正在編寫此代碼以從數據庫中刪除特定的記錄。我正在努力通過Ajax將數據傳遞給控制器​​

控制器

[HttpPost] 
public ActionResult DeleteJobQuote(int jobQuoteid) 
{ 
    using (var db = new KeysEntities()) 
    { 
     var delJob = db.JobQuote.FirstOrDefault(x => x.Id == jobQuoteid); 
     if (delJob != null) 
     { 
      delJob.Status = "Delete"; 
      db.SaveChanges(); 
      return Json(new { success = true, Message = "JobQuote SuccessFully Deleted!" }); 
     } 
     else 
     { 
      return Json(new { success = false, Message = "Delete UnSuccessFul " }); 
     } 
    } 
} 

和JavaScript和敲除此

self.deleteJobQuote = function (jobQuote) { 
    debugger; 
    $.ajax({ 
     url: '/Companies/Manage/DeleteJobQuote', 
     type: 'POST', 
     dataType: 'json', 
     data: ko.toJSON(this), 
     contentType: 'application/json', 
     success: function (result) { 
      if (result.success) { 
       $('#jobQuoteDeleteModal').modal('show'); 
      } 
      else { 
       alert("You can not delete this record !!"); 
      } 
     } 
    }); 
}; 
+0

什麼是你的問題是什麼呢?我不能看到任何行執行刪除操作像'db.JobQuote.Remove(delJob);'在你的代碼。 –

+0

'data':ko.toJSON(this)''是什麼?什麼是錯誤? – Max

+0

@ S.Akbari,從阿賈克斯,我無法擊中控制器來查看結果。從這一行$ .ajax({,它不會進入內部 – Rajesh

回答

0

更改代碼 「數據:ko.toJSON(這)」 到「數據:JSON.stringify({ jobQuoteid:1})「。我已將jobQuoteid值硬編碼爲1.從jobQoute對象獲取它。

完整代碼:

$.ajax({ 
       url: '/Companies/Manage/DeleteJobQuote', 
       type: 'POST', 
       dataType: 'json', 
       data: JSON.stringify({ jobQuoteid: 1 }), 
       contentType: 'application/json', 
       success: function (result) { 
        if (result.success) { 
         $('#jobQuoteDeleteModal').modal('show'); 
        } 
        else { 
         alert("You can not delete this record !!"); 
        } 
       } 
      }); 
+0

如果JSON。 stringify不起作用。嘗試直接使用json數據。 data:'{「jobQuoteid」:1}' – SMA

+0

非常感謝。我的問題解決了。 – Rajesh

+0

您最歡迎:) – SMA

相關問題