Передача массива VB.net в javascript с использованием класса ClientScript
Я пытаюсь использовать класс ASP.net ClientScript для передачи массива на мою страницу aspx. Я успешно завершил предыдущий пример, чтобы сделать это (пример кода ниже). Но новая рутина не работает. Разница заключается в классе ClientScript.
Ошибка гласит, что "routeCoords не определено"
мой код Java...
function newTest() {
var myArray = [ , ];
var n = 0;
var recCount = routeCoords.length / 15;
for (var i = 0; i < recCount ; i++) {
for (var s = 0; s < 15; s++) {
myArray[i, s] = routeCoords[n];
n++;
alert(myArray[s], [i]);
}
}
}
vb.net чтобы построить массив и зарегистрировать скрипт....
' arrylist
For p = 0 To arryLst.Count - 1
Page.ClientScript.RegisterArrayDeclaration("routeCoords", arryLst(p))
Next
Dim strScript As String = "newTest();"
ClientScript.RegisterStartupScript(GetType(Page), "newTest", strScript.ToString, True)
массив правильно заполняется в vb.net
это процедура из образца, который работает...
Код VB.net:
For s = 0 To arryLst.Count - 1
Page.ClientScript.RegisterArrayDeclaration("parmTypeAry", arryLst(s))
Next
Код JAVA:
// Create and Element Object of type "option"
var opt = document.createElement("option");
//Add the option element to the select item
listID.options.add(opt);
//Reading Element From Array
opt.text = parmTypeAry[s];
который заполняет выпадающий список.
1 ответ
Решение
Вот решение. Для проверки массива требовалось условие IF в цикле for.
for (i = 0; i < recCount; i++) {
// Array of arrays builds out each record.
if (!myArray[i])
myArray[i] = []
for (s = 0; s < 16; s++) {
// myArray[i] = new Array(14);
myArray[i][s] = routeCoordsAry[n];
n++;
// alert("i=" + i + " s=" + s + " Val: " + (myArray[i][s]));
}
// var u = 4;
s = 0;
}