【发布时间】:2017-11-20 17:04:41
【问题描述】:
试图通过 Ajax 访问 DeleteJobQuote 控制器,但没有成功。如果有人对此有任何想法,请指导我。代码看起来不错,但不能这样做。我正在编写此代码以从数据库中删除特定记录。
控制器
[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 和 Knockout 代码
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 !!");
}
}
});
};
【问题讨论】:
-
您的问题到底是什么?我在您的代码中看不到任何执行删除操作的行,例如
db.JobQuote.Remove(delJob );。 -
在线
data: ko.toJSON(this)上的this是什么?什么错误? -
@S.Akbari,来自 Ajax,我无法点击控制器来查看结果。从这一行 $.ajax({, 它不进去了。
-
你试过用
JSON.Stringify吗?像这样data: JSON.Stringify({jobQuoteid: jobQuoteidValue})? -
@Max,我已经从 data: { id: data.Id() } 改成 ko.toJSON(this) 来看看效果,但到目前为止还没有运气。
标签: javascript c# knockout.js asp.net-web-api2