Foros del Web » Programación para mayores de 30 ;) » .NET »

Propiedad de control problemática

Estas en el tema de Propiedad de control problemática en el foro de .NET en Foros del Web. Hola a todos... Estoy buscando ayuda porque tengo el siguiente problema, tengo una propiedad de un control que tiene que ser un array de strings, ...
  #1 (permalink)  
Antiguo 29/03/2005, 13:57
Avatar de kova  
Fecha de Ingreso: marzo-2003
Mensajes: 79
Antigüedad: 21 años, 1 mes
Puntos: 0
Propiedad de control problemática

Hola a todos...

Estoy buscando ayuda porque tengo el siguiente problema, tengo una propiedad de un control que tiene que ser un array de strings, el control es web y estoy trabajando con c#.

En tiempo de diseño funciona todo prefecto, pero cuando ejecuto, salta un error en el código que se genera automáticamente en la propiedad en cuestión, que dice lo siguiente:

Cannot create an object of type 'System.String[]' from its string representation 'Matriz String[]' for the 'Idiomas' property

Idiomas es el nombre de la propiedad.
Si alguien me pudiera orientar un poco se lo agradecere muchísimo.

Saludos
  #2 (permalink)  
Antiguo 29/03/2005, 14:03
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Es mas fácil si no pones el code que tienes y donde te arroja el error.

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 29/03/2005, 14:43
Avatar de kova  
Fecha de Ingreso: marzo-2003
Mensajes: 79
Antigüedad: 21 años, 1 mes
Puntos: 0
OK, mas o menos lo que influye en el código es lo siguiente:

En el control tengo una variable array de strings declarada así:

private string []idiomasArray;

Luego en el control tambien declaro la propiedad:

public string []Idiomas
{
get{return idiomasArray;}
set{idiomasArray = value;}
}

Esto me permite en tiempo de diseño agregar idiomas al control desde la ventana de propiedades.

Todo esto funciona bien, lo que ocurre es que cuando agrego los idiomas el código html de la página aspx adquiere la siguiente forma:

<cc2:LanguageSelector id="LanguageSelector1" style="Z-INDEX: 103; LEFT: 16px; POSITION: absolute; TOP: 16px" runat="server" Width="80px" Height="8px" Idiomas="Matriz String[]" ></cc2:LanguageSelector>

El problema está en que lo que genera automáticamente Idiomas="Matriz String[]" no lo puede reconocer en tiempo de ejecucción y tira esta excepción:

Parser Error Message: Cannot create an object of type 'System.String[]' from its string representation 'Matriz String[]' for the 'Idiomas' property.

Espero que te sirva para poder ayudarme.

Saludos
  #4 (permalink)  
Antiguo 29/03/2005, 15:05
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Y donde tienes definido Matriz String[] ??
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #5 (permalink)  
Antiguo 29/03/2005, 15:33
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
mm.. tambien lo que se me ocurre (no conozco lo que pretendes hacer) es que Idioma lo declares de tipo string.. e internamente en tu control puedes hacerlo Array...

Algo así:

en tu ascx tener algo así:

Cita:
private string idioma;
public string Idioma
{
get {return idioma;}
set { idioma= value; }
}

...
....
//para accesar al contenido de mis idiomas:

private void Page_Load(object sender, System.EventArgs e)
{
string[] s = this.Idioma.Split(new char[] {','});

for (int i=0;i<=s.Length -1;i++)
Response.Write(s[i] + "<br>");


}
Y en tu aspx usar la propiedad usando la "," como separador...

Cita:
<cc2:LanguageSelector id="LanguageSelector1" style="Z-INDEX: 103; LEFT: 16px; POSITION: absolute; TOP: 16px" runat="server" Width="80px" Height="8px" Idiomas="idioma1,idioma2,idioma3,etc" ></cc2:LanguageSelector>
Es una idea... pero no se si forzosamente necesites pasar un array..

Que opinas..??
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:41.