我在 ASP.NET Boilerplate( ABP )和AngularJS中工作。我在前端使用 Kendo 上传控制器(上传文件)。要访问控制器,我使用点击kendo按钮点击它:
($("#files").data("kendoUpload")).options.async = vm.uploadOptions(onUpdate);
$('.k-upload-selected').click();
函数vm.uploadOptions(onUpdate)
获取ID列表并返回retObject
,如
var retObject = { saveUrl: '/ControllerName/ActionName?id=15&id=16', autoUpload: false, batch: true }
现在的实际问题: 当我在上面的retObject中指定saveUrl或类似
时retObject.saveUrl = '/ControllerName/ActionName?id=195&id=196&id=197'
(ids硬编码),输入控制器(我有一个断点),我有一个带有两个元素的C#List。
当我分配url时:
vm.url = '/ControllerName/ActionName?fileId=' + fileIds[0];
len = fileIds.length;
for (var i = 1; i < len; i++) {
vm.url += '&fileId=' + fileIds[i];
}
retObject.saveUrl = vm.url;
未输入控制器。
最后(这是我现在在代码中使用的),当我指定
时vm.url = '?fileId=' + fileIds[0];
len = fileIds.length;
for (var i = 1; i < len; i++) {
vm.url += '&id=' + fileIds[i];
}
retObject.saveUrl = '/ControllerName/ActionName' + vm.url;
它确实有效 - 输入控制器时带有正确的ID列表。
当我复制动态生成的(不工作)字符串并将其指定为硬编码时,它开始工作。 为什么会发生这种情况,我的意思是:为什么以不同方式初始化的相同字符串会产生不同的结果呢?