繁体   English   中英

将数据一一保存在会话中,然后将其全部保存在数据库中

[英]save data in session one by one and save them altogether in database

我正在发送ajax请求以在会话中以json格式保存模型

<script type="text/javascript">
    $(function () {
        $('#addSubject').click(function () {
            var mydata = {
                "SubjectId": $('#subjectid').val(),
                "ObtainedGpa": $('#obtainedgpa').val(),
                "SubjectTypeId": $('#subjecttypeid').val()
            };
            var dataToPost = JSON.stringify(mydata);
            $.ajax({
                type: "Post",
                url: "/PreviousExamInfo/SaveSubjectInfo",
                contentType: "application/json;charset=utf-8",
                data: dataToPost,
                dataType: "json",

            });
        })
    });
</script>

这是成功完成的。但是在我的操作中,我必须将它们保存在Session中。方法就像“单击ADD按钮并在Session中保存值,然后再次单击ADD按钮并在与以前的会话中存储新值存储的值”。单击提交按钮后,会话中的所有值将存储在数据库中。 我怎么知道该会话能按预期工作?

var mySession = Session [“ myItem”]仅显示新值,而不是之前添加的值。我应该使用Session吗? 还是我还有其他可以使用的东西?

 [HttpPost]
        public JsonResult SaveSubjectInfo(PreviousExamSubject previousExamSubject)
        {
            List<PreviousExamSubject> list=new List<PreviousExamSubject>();
            list.Add(previousExamSubject);
            Session["myitem"] = list;
            return Json(JsonRequestBehavior.AllowGet);
        }

该代码始终用新列表替换现有的Session [“ myitem”]。 要追加,您可以执行以下操作:

[HttpPost]
public JsonResult SaveSubjectInfo(PreviousExamSubject previousExamSubject)
{
    List<PreviousExamSubject> list= (List<PreviousExamSubject>) Session["myitem"] ?? new List<PreviousExamSubject>();
    list.Add(previousExamSubject);
    Session["myitem"] = list;
    return Json(JsonRequestBehavior.AllowGet);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM