2012-09-20 82 views
0

我有一個asp.net MVC3應用程序,試圖將數據保存到MS SQL表(實體框架)。
下面是表:ASP.NET MVC JSON實體框架 - 保存數據

public class CasesProgress 
    { 
     public virtual long ID { get; set; } 
     public virtual long Learner_ID { get; set; } 
     public virtual long Course_ID { get; set; } 
     public virtual long StudyCase_ID { get; set; } 
     public virtual long CaseList_ID { get; set; } 
     public virtual bool Viewed { get; set; } 
    } 

這裏是我的控制器:

public ActionResult StoreProgress(long Learner_ID, long Course_ID, long StudyCase_ID, long CaseList_ID) 
    { 
     CasesProgress casesprogress = new CasesProgress(); 
     casesprogress.Learner_ID = Learner_ID; 
     casesprogress.Course_ID = Course_ID; 
     casesprogress.StudyCase_ID = StudyCase_ID; 
     casesprogress.CaseList_ID = CaseList_ID; 
     casesprogress.Viewed = true; 
     db.CasesProgresses.AddObject(casesprogress); 
     db.SaveChanges(); 
     return Json(new { success = true }); 
    } 

,這裏是我的javascript:

function StoreProgress1() { 
     $.ajax({ 
      url: '/Home/StoreProgress', 
      type: 'POST', 
      data: { 
       LearnerID: "211", 
       Course_ID: "6", 
       StudyCase_ID: "19", 
       CaseList_ID: "2" 
      }, 
      contentType: 'application/json; charset=utf-8', 
      success: function (data) { 
       alert(data.success); 
      }, 
      error: function() { 
       alert("error"); 
      } 
     }); 
    } 

我遇到錯誤信息,甚至沒有去斷點我在控制器中有。任何想法,我是新來的。提前致謝。

+0

爲什麼你正在創建這樣一個奇怪的API?爲什麼不傳遞json對象作爲方法參數? – vittore

+0

我是編程新手,是否只是傳遞數據對象? – hncl

回答

1

問題出現在這一行:

contentType:'application/json; charset = utf-8',

我刪除它,它的工作。 感謝您的所有答案。

2

嘗試改變:

LearnerID: "211" 

要(如模型):

Learner_ID: "211" 
+0

謝謝但sitll得到同樣的錯誤。 – hncl

+0

@ user373721你的控制器被命名爲模型?我正在考慮'CaseProgress' – webdeveloper

+0

@ user373721另外我無法找到正在運行的'Viewed'參數。請顯示錯誤文本。 – webdeveloper

0

除了上述的答案,檢查你是否[HttpPost]屬性應用到你的行動。

+0

謝謝,[HttpPost]在那裏。 – hncl