C# 在会话中逐个保存数据,并将其全部保存在数据库中
我正在发送ajax请求,以便在会话中以json格式保存模型C# 在会话中逐个保存数据,并将其全部保存在数据库中,c#,asp.net-mvc,session,C#,Asp.net Mvc,Session,我正在发送ajax请求,以便在会话中以json格式保存模型 <script type="text/javascript"> $(function () { $('#addSubject').click(function () { var mydata = { "SubjectId": $('#subjectid').val(), "ObtainedGpa": $('#obt
<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>
$(函数(){
$('#addSubject')。单击(函数(){
var mydata={
“主观性”:$(“#主观性”).val(),
“ActainedGPA”:$('#ActainedGPA').val(),
“SubjectTypeId”:$('#SubjectTypeId').val()
};
var dataToPost=JSON.stringify(mydata);
$.ajax({
类型:“Post”,
url:“/PreviousCheckInfo/SaveSubjectInfo”,
contentType:“应用程序/json;字符集=utf-8”,
数据:dataToPost,
数据类型:“json”,
});
})
});
这已成功完成。但在我的操作中,我必须在会话中保存它们。方法类似于“单击“添加”按钮并在会话中保存值,再次单击“添加”按钮并在会话中使用以前存储的值存储新值”。单击“提交”按钮后,会话中的所有值都将存储在数据库中。我怎么知道会话按我预期的那样工作?因为当我使用
var mySession=Session[“myItem”]
这只显示新值,而不是我以前添加的值。我应该使用会话吗?还有什么我可以用的吗
[HttpPost]
public JsonResult SaveSubjectInfo(PreviousExamSubject PreviousExamSubject)
{
列表=新列表();
列表.添加(上一个ExamSubject);
会话[“myitem”]=列表;
返回Json(JsonRequestBehavior.AllowGet);
}
代码总是用新列表替换现有会话[“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);
}
[HttpPost]
public JsonResult SaveSubjectInfo(PreviousExamSubject PreviousExamSubject)
{
列表=(列表)会话[“myitem”]??新建列表();
列表.添加(上一个ExamSubject);
会话[“myitem”]=列表;
返回Json(JsonRequestBehavior.AllowGet);
}
谢谢,这行可以用,但是你能告诉我这行是如何工作的吗List=(List)Session[“myitem”]??新列表()。。我不明白,那么我会把它标记为A=b??c表示如果b有a值(b!=null),则a被设置为等于b,否则,a将被设置为c。b和c需要是相同的类型,因此转换会话变量。欲了解更多有关??接线员,请看这里:
[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);
}