2010-08-07 16 views
5

¿Cómo puedo completar una matriz que se define en javascript con C# detrás del código?Rellenar la matriz de Javascript con C#

EDIT:

aquí es mi código

protected void Page_Load(object sender, System.EventArgs e) 
{ 
string[] locations = new string[] { 
    "Las Vegas", 
    "Los Angeles", 
    "Tampa", 
    "New York", 
    "s", 
    "sss" 
}; 
string jsArray = GetJSArrayForVBArray(locations); 
this.ClientScript.RegisterArrayDeclaration("usernames", jsArray); 
} 

private string GetJSArrayForVBArray(string[] vbArray) 
{ 
StringBuilder myResult = new StringBuilder(); 
foreach (string item in Constants.vbArray) { 
    { 
     myResult.Append(",'" + item + "'"); 
    } 
} 
if ((myResult.Length > 0)) { 
    return myResult.ToString().Substring(1); 
} else { 
    return ""; 
} 
} 

Javsacript:

<script type="text/javascript"> 
    $(function() { 
     var usernames = new Array(); 
     $("#tags").autocomplete({ 
      source: usernames 
     }); 
    }); 
</script> 
+0

Genera un bloque de código javascript para hacerlo. 'someArray.push (someValue)'. –

+0

Además, verifique si puede aceptar algunas respuestas a sus preguntas anteriores. Hacer preguntas y no volver a ellas es grosero. – Tomalak

+0

¿cuál es el problema con el resaltador de sintaxis? @tomalak ??????????? @ Jaroslav Jandek: gracias. dame un enlace para obtener más información o un ejemplo @oded edited – Shahin

Respuesta

5

usa la clase JavaScriptSerializer. Algo como lo siguiente debería hacerlo

protected void Page_Load(object sender, System.EventArgs e) 
{ 
    string[] locations = new string[] { 
     "Las Vegas", 
     "Los Angeles", 
     "Tampa", 
     "New York", 
     "s", 
     "sss" 
    }; 

    JavaScriptSerializer serializer = new JavaScriptSerializer(); 

    string jsArray = serializer.Serialize(locations); 
    this.ClientScript.RegisterClientScriptBlock(this.GetType(), "locations", jsArray, true); 
} 
+0

gracias. qué método? ¿podría darme un ejemplo? – Shahin

+0

Muchas gracias. ¿cómo puedo usarlo en mi página aspx? – Shahin

+0

No puedo usar array en la página aspx. por favor ayúdame. usé este código. Shahin

4

Suena como un trabajo para JSON. Tenga en cuenta que si se desplaza hacia abajo en esa página, verá una serie de recursos para utilizar JSON en C#. Es realmente una gran manera de transferir datos entre varias plataformas/idiomas.

+0

gracias. quieres decir que tengo que convertir mi matriz .NET a json? – Shahin

+1

Bueno, mira los enlaces que figuran en esa página. La mayor parte del trabajo de "conversión" se realiza por uno de esos paquetes, dependiendo de su implementación. Específicamente, se trata básicamente de llamar a JsonEncode/JsonDecode (o usar funciones de ayuda para trabajar con tipos de colección específicos) con el código en: http://techblog.procurios.nl/k/618/news/view/14605/14863 /How-do-Iwrite-my-own-parser-for-JSON.html –

Cuestiones relacionadas