繁体   English   中英

如何在asp.net中使用ajax将数组传递给mvc

[英]how to pass array to mvc using ajax in asp.net

如何在mvc中传递数组以存储在sql server中? 我需要保存每个问题的分数,所以我使用ajax和jquery来做,但它只保存列表数组的一个数据。 数组的变量是需要在eachscore分配的result这是我的代码。

班级

  public partial class Score
    {
        public int idScore { get; set; }
        public Nullable<System.DateTime> date { get; set; }
        public Nullable<int> status { get; set; }
        public Nullable<int> IdMaterial { get; set; }
        public Nullable<int> score { get; set; }
        public string username { get; set; }
        public Nullable<int> eachscore { get; set; }
    
        public virtual Learning Learning { get; set; }
    }

阿贾克斯

function showScore(data, id, ...result) {
    
        $.ajax({
            type: "post",
            url: "/Home/InsertScore",
            dataType: "json",
            traditional: true,
            data:
            { "score": score, "status": 1, "IdMaterial": id, "eachscore": result}           
            success: function (data) {
                console.log("Success");
            },
            error: function () {
                console.log("error");
            }
    });
}

控制器

 public ActionResult InsertScore([Bind(Include = "idScore,date,status,IdMaterial, score, username,eachscore")] Score s)
        {
            if (Session["UserName"] != null)
            {
                var user = Session["UserName"].ToString();
                s.username = user;
                db.Scores.Add(s);
                db.SaveChanges();
                return Json("true", JsonRequestBehavior.AllowGet);
            }
            else
            {
                return RedirectToAction("Login", "Account");
            }
        }

在 AJAX 请求中传递数组

 var ScoreArray= [];

使用 For 循环推送数据。

ScoreArray.push({
         idScore  : 1,
         score    : 10,
         Others key 

      });

Ajax 传递数组

data: "{ 'lstScoreArray':" + JSON.stringify(ScoreArray) + "}"

控制器

public ActionResult InsertScore(List <Score> lstScoreArray) { 你的代码..... }

暂无
暂无

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

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