tratando de pasar una variable de matriz a Java Lo siguiente no funciona, alguna idea de por qué y cómo hacer que funcione
Código detrás
Public myArray (5) As String myArray(1) = "A1" myArray(2) = "A2" myArray(3) = "A3" myArray(4) = "A4" myArray(5) = "A5"en áspid
<button type = "button" onclick="myJava('<%= myArray %>');">Search</button>En Javascript
function myJava (myArray) { alert(myArray[1]); // expected answer is A1 but it is not }Necesita codificar correctamente su matriz. En primer lugar, debe convertirlo en una cadena JSON; entonces necesita codificar esa cadena como un valor de atributo HTML.
Agregue una referencia al paquete Newtonsoft.Json NuGet . Agregue una instrucción Imports para el espacio de nombres Newtonsoft.Json . Agregue un método a su código subyacente para devolver la llamada de función codificada correctamente:
Public Function PassArrayToJavascript(ByVal functionName As String) As String Dim json As String = JsonConvert.SerializeObject(myArray) Dim result As String = functionName + "(" + json + ");" Return System.Web.HttpUtility.HtmlAttributeEncode(result) End FunctionLuego actualice su marcado para llamar a esta función:
<button type = "button" onclick="<%= PassArrayToJavascript("myFunction") %>">Search</button>