Передача массива 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;

      }
Другие вопросы по тегам