Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript代码在调试模式下运行良好,没有任何错误,但在正常模式下显示参数超出范围错误?_Javascript_C#_Ajax_Asp.net Mvc_Kendo Grid - Fatal编程技术网

javascript代码在调试模式下运行良好,没有任何错误,但在正常模式下显示参数超出范围错误?

javascript代码在调试模式下运行良好,没有任何错误,但在正常模式下显示参数超出范围错误?,javascript,c#,ajax,asp.net-mvc,kendo-grid,Javascript,C#,Ajax,Asp.net Mvc,Kendo Grid,我被困在这样一种情况中:在调试器模式下工作时,我在控制器上执行多个ajax调用,一切正常,但在正常模式下显示参数超出范围异常 for (var i = 0; i < artdata.length; i++) { addNewStepMultiple(artdata[i], i) } function addNewStepMultiple(artifactData, index) { if (artifactData !

我被困在这样一种情况中:在调试器模式下工作时,我在控制器上执行多个ajax调用,一切正常,但在正常模式下显示参数超出范围异常

 for (var i = 0; i < artdata.length; i++) {
         addNewStepMultiple(artdata[i], i)
            }

 function addNewStepMultiple(artifactData, index) {
            if (artifactData != null) {
                var tcIndex, data, url;
                var suiteId = serviceFactory.getComponentInfo().id;
                var gridInstance = $("#Suite_Grid").data("kendoGrid");
                if (gridInstance._data.length == 0) {
                    tcIndex = -1 + index + 1;
                } else {
                    tcIndex = $("#Suite_Grid").data("kendoGrid").select().index();
                    if (tcIndex == -1) {
                        tcIndex = tcIndex + index;
                    } else {
                        tcIndex = tcIndex + index + 1;
                    }
                }
                console.log('tcIndex' + tcIndex);
                var newTcIndex = tcIndex;
                var treeBinding = JSON.stringify(artifactData);
                url = "/Suite/AddNewStep";
                data = { SuiteID: suiteId, position: tcIndex, artifactModel: treeBinding };
                $.ajax({
                    type: "POST",
                    url: url,
                    data: data,
                    success: function (res) {
                        debugger; //$scope.SuiteData.data(res);
                        bindSuiteGrid(res); //$scope.SuiteData.data(result)
                        $scope.setChanges();
                        //var tr = grid.element.find('tbody tr:eq(' + (newindex) + ')'); //.addClass('k-state-selected')
                        //  grid.select(tr);
                        var tr = $('#Suite_Grid table tr:eq(' + (res.length) + ')')
                        $("#Suite_Grid").data("kendoGrid").select(tr);
                        loadingStop("#vertical-splitter", ".btnTestLoader");
                    },
                    error: function (error) {
                        debugger
                        loadingStop("#vertical-splitter", ".btnTestLoader");
                        serviceFactory.showError($scope, error);
                    }
                });
            }
        }
for(var i=0;i

请告诉我如何解决此问题。

在您的场景循环中,无法在正常模式下等待ajax请求。因此,要知道如何进行多个ajax调用,您的问题到底在哪里?检查浏览器控制台中的行号,当我们处理对控制器的多个ajax调用请求时,显示错误。我认为代码正在被跳过bindSuiteGrid()函数的原型是什么?好吧,您可以提供
AddNewStep
action方法,它可能是
ArgumentOutOfRangeException
的起源。在浏览器控制台中检查是否跳过或未分配某些内容,尤其要注意
调试器
之后的行。在bindSuiteGrid()中,设置了网格列和数据绑定的模板