我是使用JQuery和JSON更新Enity Framework对象的新手。我在控制台应用程序和更新功能中创建了实体对象并且它可以工作。我尝试转移到我的网络应用程序,我无法通过我的网络应用程序进行更新。
控制器代码
[HttpPost]
public ActionResult Update(int rowID)
{
var keyValues = new KeyValuePair<string, object>[] {
new KeyValuePair<string, object>("QUICKFIX_ID", rowID)
};
var key = new EntityKey("CSCEntities.tbl_Quickfix_Toolbar", keyValues);
var quickfixtbl = (tbl_Quickfix_Toolbar)db.GetObjectByKey(key);
int usrcount = (int)quickfixtbl.USECOUNT_NR;
// update
usrcount = usrcount + 1;
// find the row to update using the ID
tbl_Quickfix_Toolbar quickFix = (from x in db.tbl_Quickfix_Toolbar
where x.QUICKFIX_ID == rowID
select x).First();
quickFix.USECOUNT_NR = usrcount;
db.SaveChanges();
return View();
}
这是调用我的控制器的JQuery函数:
//Updates the use count in the List
function Update() {
$.ajax({
url: "/csc/devapp1/Home/Update",
type: 'POST',
data: "rowID=" +id,
contentType: "application/json;charset=utf-8",
success: function (data) {
alert('Details Updated Successfully');
},
error: function () {
alert('Unable to Update for the Given ID');
}
});
请让我知道我做错了什么,我已经持续了好几个星期而无法让它发挥作用。
答案 0 :(得分:2)
更改此行:
data: "rowID=" +id,
到此:
data: JSON.stringify({ rowID : id }),
可能你的URL
错了:
改变这个:
url: "/csc/devapp1/Hom/Update/",
到此:
url: '/Home/Update',
它应该可行