【问题标题】:Is there a limit for javascript array attributes?javascript数组属性有限制吗?
【发布时间】:2017-10-11 16:25:28
【问题描述】:

我有一个包含 21 个属性的 'var' 数组,它工作正常。但是一个额外的属性被添加到我的数组中,该方法停止工作。数组数据传递到 MVC 控制器。在 var 数组中使用超过 21 个属性是不可能的吗?

这是我用来向控制器发送数据的 ajax 代码。

    var DailyStock = [];

    for (var i = 0; i <= 45; i++) {

        DailyStock.push(
            {
                "DatePeriod": CreateDate($("#currDate" + i + "").text()),
                "JctLMS": $("#jctLMS" + i + "").val(),
                "ConfLMS": $("#confLMS" + i + "").val(),
                "FutLMS": $("#futLMS" + i + "").val(),
                "ParclLMS": $("#parcelLMS" + i + "").val(),
                "JctLIOC": $("#jctLIOC" + i + "").val(),
                "ConfLIOC": $("#confLIOC" + i + "").val(),
                "FutLIOC": $("#futLIOC" + i + "").val(),
                "ParclLIOC": $("#parcelLIOC" + i + "").val(),
                "JctIOE": $("#jctIOE" + i + "").val(),
                "ConfIOE": $("#confIOE" + i + "").val(),
                "FutIOE": $("#futIOE" + i + "").val(),
                "ParclIOE": $("#parcelIOE" + i + "").val(),
                "JctLMSL": $("#jctLMSL" + i + "").val(),
                "ConfLMSL": $("#confLMSL" + i + "").val(),
                "FutLMSL": $("#futLMSL" + i + "").val(),
                "ParclLMSL": $("#parcelLMSL" + i + "").val(),
                "BargeLMS": $("#bargeLMS" + i + "").val(),
                "StockIHLMS": $("#stckinhandLMS" + i + "").val(),
                "BargeLIOC": $("#bargeLIOC" + i + "").val(),
                "StockIHLIOC": $("#stckinhandLIOC" + i + "").val(),
                "BargeIOE": $("#bargeIOE" + i + "").val()

            },
        );
    }

    DailyStock = JSON.stringify({ 'DailyStock': DailyStock });


    $.ajax({
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        type: 'POST',
        url: '../Home/SetQuantity',
        cache: false,
        async: false,
        data: DailyStock,
        success: function (data) {
            if (data.Success == true) {
                alert('success');
            }
            else {
                alert('Error');
            }

        },          
    });

C#控制器Json结果方法

    public JsonResult SetQuantity(List<DailyStock> DailyStock)
    {
        try
        { 
            DBHandle DB = new DBHandle();
           // DB.SetTable(DailyStock);
            return Json(new { Success = true }, JsonRequestBehavior.AllowGet);
        }
        catch (Exception ex)
        {

            return Json(new { Success = false, ErrorMessage = ex.Message }, JsonRequestBehavior.AllowGet);
        }
    }

 public class DailyStock
{
    public DateTime DatePeriod { get; set; }
    public string JctLMS { get; set; }
    public string ConfLMS { get; set; }
    public string FutLMS { get; set; }
    public string ParclLMS { get; set; }
    public string JctLIOC { get; set; }
    public string ConfLIOC { get; set; }
    public string FutLIOC { get; set; }
    public string ParclLIOC { get; set; }
    public string JctIOE { get; set; }
    public string ConfIOE { get; set; }
    public string FutIOE { get; set; }
    public string ParclIOE { get; set; }
    public string JctLMSL { get; set; }
    public string ConfLMSL { get; set; }
    public string FutLMSL { get; set; }
    public string ParclLMSL { get; set; }
    public string BargeLMS { get; set; }
    public string StockIHLMS { get; set; }
    public string BargeLIOC { get; set; }
    public string StockIHLIOC { get; set; }

    public string BargeIOE { get; set; }


}

【问题讨论】:

  • 答案是否定的,js数组/对象没有这个限制。控制台有错误吗?
  • 附加属性是什么以及如何添加
  • 从技术上讲,它是一个包含 46 个对象的数组,每个对象有 21 个属性。
  • DailyStock 只是 var 名称,大小写使语法荧光笔假定它是一个类型。
  • 您有任何控制台错误吗?请定义“停止工作”。

标签: javascript c# arrays ajax asp.net-mvc


【解决方案1】:

在客户端没有这样的限制,但可能在您的服务器端。看看这个帖子 -> stackoverflow.com/a/20251602/3877877

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 2012-03-06
    • 2012-11-13
    • 2014-02-04
    • 2017-01-29
    • 1970-01-01
    相关资源
    最近更新 更多