2012-09-20 54 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