表单数据批量提交,后台批量接收并保存

前台JS代码

复制代码
 1  $("#btn_save").click(function (data) {
 2             var values = $("#from_jbxx").serializeArray();
 3             var strdata = {};
 4             $.each($("#from_jbxx").serializeArray(), function (a, b) { strdata[b.name] = b.value; });
 5             if ($("#from_jbxx").validationEngine('validate')) {
 6 
 7                 $.ajax({
 8                     type: 'POST',
 9                     url: getFnDataUrl("HttpAshx/StudentInfo.ashx", "SaveStudentTurnover"),
10                     data: JSON.stringify(strdata),
11                     success: function (strResult) {
12                         var res = $.parseJSON(strResult) || {};
13                         if (res.Succeed) {
14                             alert(res.Message);
15                             location.href = "/Student/UserCenter.aspx";
16                         } else {
17                             alert(res.Message);
18                         }
19                     }
20                 });
21                 return false;
22             } else {
23                 return false;
24             }
25         });
复制代码

后台代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public void SaveStudentTurnover(HttpContext context)
{
 
    byte[] bytes = new byte[context.Request.InputStream.Length];
    context.Request.InputStream.Read(bytes, 0, bytes.Length);
    var values = System.Text.Encoding.UTF8.GetString(bytes).JsonDeserialize<Dictionary<string, string>>();
 
    string strId = values["Id"] ?? "";
    var model = _gdc.GetDataSet<XjStudentTurnover>().FirstOrDefault(p => p.Id == strId);
    if (model == null)
    {
        model = XjStudentTurnover.CreateXjStudentTurnover(_gdc.GetNewCode<XjStudentTurnover>());
        model.InnerDeleteFlag = false;
        model.StudentId = values["StudentId"] ?? "";
        _gdc.AddObject(model);
    }
 
    model.LoadFrom(values);
    _gdc.SaveChanges();
    DtHttpContext.ReturnMesg(AjaxResult.Success("保存成功~!"), context);
    return;
}

  

posted @   sharestone  阅读(3627)  评论(1编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示