2012-04-23 15 views
9

estoy usando el siguiente código para actualizar un cuadro de lista, esta recibiendo una lista de una banda de servicio-Valor no está dentro del rango esperado

client.userKeywordsCompleted += new EventHandler<userKeywordsCompletedEventArgs>(client_userKeywordsCompleted); 
client.userKeywordsAsync(); 

usando -

void client_userKeywordsCompleted(object sender, userKeywordsCompletedEventArgs e) 
    { 

     string result = System.Convert.ToString(e.Result); 


     for (int i = 0; i < e.Result.Count; i++) 
     { 

      ListBoxItem lbitem = new ListBoxItem(); 

      lbitem.Name = "lb_" + i; 
      lbitem.Content = e.Result[i]; 

      lbitem.AddHandler(UIElement.MouseLeftButtonDownEvent, new MouseButtonEventHandler(ListBoxItem_DoubleClickEvent), true); 

      listBox1.Items.Add(lbitem); 

     } 

Esto funciona bien , como lo uso cuando se carga la ventana Child, de modo que el cuadro de lista obtiene la lista de la base de datos; sin embargo, cuando un usuario selecciona uno de los elementos en el cuadro de lista, tiene la opción de editar el elemento seleccionado. Entonces, una edición está en su lugar, hay un botón de edición, que actualiza la columna en la tabla de la base de datos. Entonces, al hacer clic en el botón, vuelvo a llamar al código mencionado para actualizar el cuadro de lista con las nuevas credenciales. Sin embargo esto trae bcak el error -

"Value does not fall within the expected range." 

Por qué no puedo llamar al método web en el clic de botón, como todo lo que está haciendo es actualizar el cuadro de lista ???

Respuesta

11

Esto puede deberse al hecho de que está tratando de agregar un ListBoxItem con el mismo nombre a la página.

Si desea actualizar el contenido del listbox con los valores recién recuperados, primero deberá eliminar manualmente el contenido del listbox, de lo contrario su bucle intentará crear lb_1 nuevamente y agregarlo a la misma lista.

Mira aquí por un problema similar que se produjo Silverlight: Value does not fall within the expected range exception

Cheers,

+0

Entonces, ¿qué sugieres que haga? Eché un vistazo a esa respuesta, creo que lo que dijiste es el problema. – Ebikeneser

+0

De hecho, solo agregué una función clara a los elementos del cuadro de lista en el clic del botón, esto funciona el primer tiem con las opciones actualizadas, sin embargo, si lo hago de nuevo, el cuadro de lista no se actualiza, ¿sabes por qué? – Ebikeneser

+0

Después de borrar, solo por el bien de la depuración, asegúrese de que la lista de elementos esté vacía. Tal vez deberías considerar dejarlo claro en la devolución de llamada. – Stainedart

1

que tenía de una razón totalmente diferente el mismo aviso "Valor no está dentro del rango esperado" desde el Visual Studio 2008, mientras tratando de usar las herramientas: -> Herramientas de Windows Embedded Silverlight -> Actualizar Silverlight para Windows Embedded Project.

Después de pasar muchos ohurs descubrí que el problema era que no había un archivo de recursos y la herramienta de actualización busca el archivo .RC

para ello la solución es añadir a la carpeta de recursos de un .RC archivo y que funciona perfectamente. Espero que ayude a alguien por ahí

0

En caso de WSS 3.0 recientemente tuve el mismo problema. Fue porque la columna a la que se accedió desde el código no estaba presente en la lista de wss.

Cuestiones relacionadas