【发布时间】: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