使用JQuery JSON对象的MVC2更新实体框架数据库(请帮我搞定这个)

时间:2014-01-07 03:27:52

标签: c# ajax json asp.net-mvc-2 entity-framework-5

我是使用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');
          }
   });

请让我知道我做错了什么,我已经持续了好几个星期而无法让它发挥作用。

1 个答案:

答案 0 :(得分:2)

更改此行:

data: "rowID=" +id,

到此:

data: JSON.stringify({ rowID : id }),

可能你的URL错了:

改变这个:

url: "/csc/devapp1/Hom/Update/",

到此:

url: '/Home/Update',

它应该可行