2

MS SQL テーブル (Entity Framework) にデータを保存しようとしている asp.net MVC3 アプリケーションがあります。
ここに表があります:

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");
            }
        });
    }

コントローラーにあるブレークポイントに行かなくてもエラー メッセージが表示されます。どんなアイデアでも、私はこれが初めてです。前もって感謝します。

4

3 に答える 3

3

変更してみてください:

LearnerID: "211"

へ (モデルのように):

Learner_ID: "211"
于 2012-09-20T16:30:41.963 に答える
1

問題は次の行にありました。

contentType: 'アプリケーション/json; charset=utf-8',

私はそれを削除し、それは働いた。すべての回答に感謝します。

于 2012-09-20T17:02:15.613 に答える
0

上記の回答に加え[HttpPost]て、アクションに属性が適用されていることを確認してください。

于 2012-09-20T16:34:44.710 に答える