我正在尝试在 javascript 中创建一个数组,其中包含作为模型传递给视图的对象列表,但出现此错误:“System.ArgumentOutOfRangeException:索引超出范围。必须为非负数并且小于集合的大小。(参数'startIndex')”尝试打开视图时。这是我的代码:
<script language="JavaScript">
(function () {
var currentExpression;
var expressionName;
var role;
function startup() {
//Here,the initial expression
counter = 0;
exp = Array.from(@Model);
currentExpression = document.getElementById('expresionImage');
currentExpression.src = "~/Plugins/Widgets.Expressions/Content/Expressions/sample-expressions/" + exp[counter].ExpressionFileName;
expressionName = document.getElementById('expressionName');
expressionName.innerHTML = exp[counter].ExpressionName;
role = exp[counter].Role;
//==================================
//Code here...
$(document).ready(function () {
$("#AjaxForm").submit(function (e) {
e.preventDefault();
// More code...
$.ajax({
type: "post",// Verbo HTTP
url: "@Url.action("TakePhoto","WidgetsExpressions")",dataType: "application/Json",headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken: "]').val() },data: JSON.stringify(
{
// Datos / Parámetros
ProductId: $("#productId").val(),Role: role,ExpressionName: expressionName,}),contentType: "application/Json; charset=utf-8"
})
.done(function (result) {
counter = ++counter;
//Cambiamos la expression
currentExpression.src = "~/Plugins/Widgets.Expressions/Content/Expressions/sample-expressions/" + exp[counter].ExpressionFileName;
expressionName = exp[counter].ExpressionName;
role = exp[counter].Role;
// Mostramos un mensaje de éxito.
//$("#SuccessAlert").show("slow").delay(2000).hide("slow");
alert(result.Message);
}
else{
//Aqui va el Alert que indica que no se pudo procesar la foto. La expresion sigue igual.
alert(result.Message);
}
})
// Se ejecuta si se produjo un error.
.fail(function (xhr,status,error) {
// Mostramos un mensaje de error.
$("#ErrorAlert").show("slow").delay(2000).hide("slow");
})
// Hacer algo siempre,haya sido exitosa o no.
.always(function () {
});
});
});
//=====================================
window.addEventListener('load',startup,false);
})();
对不起。这可能是一个愚蠢的问题,但我只是从 javascript 开始,无法弄清楚我的错误是什么。 谢谢