【发布时间】:2021-10-07 08:04:25
【问题描述】:
我正在尝试在 javascript 中创建一个数组,其中包含作为模型传递给视图的对象列表,但我收到此错误:“System.ArgumentOutOfRangeException: Index was out of range. must be non-negative并且小于集合的大小。(参数'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 开始,无法弄清楚我的错误是什么。 谢谢
【问题讨论】:
-
这是一个 C# 错误,而不是 JavaScript 错误。
-
您也必须显示拍照操作代码
标签: javascript jquery arrays asp.net-mvc nopcommerce