Domingo 22 de Diciembre de 2024, 15:45
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
CLR: .Net / Mono / Boo / Otros CLR
»
C#
(Moderador:
ProfesorX
) »
Pasando Una Web Form Como Parametro
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Pasando Una Web Form Como Parametro (Leído 4108 veces)
see07
Miembro activo
Mensajes: 51
Pasando Una Web Form Como Parametro
«
en:
Martes 15 de Marzo de 2005, 23:13 »
0
Hola:
A partir de una web form estoy enviando a ejecutar una función contenida en una clase, el código en la web form es:
bool que = WUC_CreDes.Class1.Hay_PostBack(this, w1,w1cx, w1ID, w2, w2cx, w2ID);
En la clase es código es:
public static bool Hay_PostBack(WUC_CreDes.WebForm1 parent1, string w1,
string w1cx,
string w1ID,
string w2,
string w2cx,
string w2ID)
{
string cual = "";
cual = HttpContext.Current.Session["par1"].ToString();
parent1.Example.Controls.Clear();
if(cual == w1)
{
Control control = parent1.Page.LoadControl(w1cx);
control.ID = w1ID;
parent1.Example.Controls.Add(control);
}
else
{
Control control = parent1.Page.LoadControl(w2cx);
control.ID = w2ID;
parent1.Example.Controls.Add(control);
}
return false;
}
Como ven estoy pasando a la función contenida en la clase la WebForm1 para crear en ella WUC dinámicamente.
Pensando en una segunda web form, digamos WebForm2, si desde allí envío a ejecutar la función:
bool que = WUC_CreDes.Class1.Hay_PostBack(this, w1,w1cx, w1ID, w2, w2cx, w2ID);
¿Cómo puedo hacer para que la función Hay_PostBack arriba mencionada funcione también para la WebForm2? ¿Qué cambio habría que hacerle ya que el primer parámetro es WUC_CreDes.Web Form1 parent1?
Les agradeceré sus repuestas.
Saludos.
A.L.
Tweet
desgraciado
Miembro activo
Mensajes: 30
Re: Pasando Una Web Form Como Parametro
«
Respuesta #1 en:
Miércoles 16 de Marzo de 2005, 03:36 »
0
declarandola como static no seria
???
Form1.Hay_PostBack(); para usarla
asi creo que es
see07
Miembro activo
Mensajes: 51
Re: Pasando Una Web Form Como Parametro
«
Respuesta #2 en:
Miércoles 16 de Marzo de 2005, 18:37 »
0
Ya está declarada como static.
Güorker
Miembro MUY activo
Mensajes: 383
Re: Pasando Una Web Form Como Parametro
«
Respuesta #3 en:
Jueves 17 de Marzo de 2005, 13:46 »
0
Hola,
Cambia el tipo del parametro.
En ve de ser de tipo WUC_CreDes.WebForm1
que sea de tipo System.Web.UI.Page
Así, como todos los Web Form heredan de esa clase, te puede funcionar.
Claro que tendras que tener en cuenta que para acceder a las propiedades de ese parametro en la función, quizá tengas que hacer un casting.
Saludos
[size=109]
Ondo ibili, gutxi gastau eta bueltak amari
[/size]
[size=109]
Pasalo bien, gasta poco y las vueltas a tu madre
[/size]
see07
Miembro activo
Mensajes: 51
Re: Pasando Una Web Form Como Parametro
«
Respuesta #4 en:
Viernes 18 de Marzo de 2005, 00:50 »
0
Estoy codificando:
public static bool Hay_PostBack(System.Web.UI.Page parent1, string w1,
string w1cx,
string w1ID,
string w2,
string w2cx,
string w2ID)
{
string fofoi = parent1.GetType().ToString();
if(fofoi == "ASP.WebForm1_aspx")
{
WUC_CreDes.WebForm1 frm = (WUC_CreDes.WebForm1) parent1;
}
else
{
if(fofoi == "ASP.WebForm2_aspx")
{
WUC_CreDes.WebForm2 frm = (WUC_CreDes.WebForm2) parent1;
}
}
Pero frm no es reconocido por el sistema.
En qué estoy mal???
Güorker
Miembro MUY activo
Mensajes: 383
Re: Pasando Una Web Form Como Parametro
«
Respuesta #5 en:
Martes 22 de Marzo de 2005, 08:37 »
0
Hola de nuevo,
a que te refieres cuando dices que frm no es reconocido por el sistema?
Quieres decir que está a null? o que te dice que no existe?
Observando tu codigo me he fijado en que declaras frm dentro del if o del else segun la cadena de fofoi, que contiene el tipo de datos de parent. Lo que pasa que si intentas hacer referencia a frm fuera del if o del else, no podrás ya que estas fuera del ambito de declaración de frm.
a ver si te sirve de algo.
[size=109]
Ondo ibili, gutxi gastau eta bueltak amari
[/size]
[size=109]
Pasalo bien, gasta poco y las vueltas a tu madre
[/size]
see07
Miembro activo
Mensajes: 51
Re: Pasando Una Web Form Como Parametro
«
Respuesta #6 en:
Martes 22 de Marzo de 2005, 16:18 »
0
Hola Guorker:
Siguiendo to consejo mi código queda ahora así:
public static bool Hay_PostBack(System.Web.UI.Page parent1, string w1,
string w1cx,
string w1ID,
string w2,
string w2cx,
string w2ID)
{
WUC_CreDes.WebForm1 frm1;
WUC_CreDes.WebForm2 frm2;
string fofoi = parent1.GetType().ToString();
if(fofoi == "ASP.WebForm1_aspx")
{
frm1 = (WUC_CreDes.WebForm1) parent1;
frm1.parent1.Example.Controls.Clear();
}
}
Sin embargo en la última línea:
frm1.parent1.Example.Controls.Clear();
Me da el error: 'WUC_CreDes.WebForm1' no contiene una definición paera 'parent1'.
Example es un place holder contenido tanto en WebForm1 como en WebForm2.
Agradeceré vuestra ayuda.
A.L.
lucaseto
Miembro activo
Mensajes: 32
Re: Pasando Una Web Form Como Parametro
«
Respuesta #7 en:
Martes 22 de Marzo de 2005, 17:25 »
0
Creo
lucaseto
Miembro activo
Mensajes: 32
Re: Pasando Una Web Form Como Parametro
«
Respuesta #8 en:
Martes 22 de Marzo de 2005, 17:26 »
0
Creo que es error de sintaxis Parent
y no parent1
Por que ya esta utilizando una propi edad del form y no una variable
Güorker
Miembro MUY activo
Mensajes: 383
Re: Pasando Una Web Form Como Parametro
«
Respuesta #9 en:
Martes 22 de Marzo de 2005, 17:27 »
0
Hola otra vez,
Parece ser que te has liado un poco con eso de los castings y demas.
Creo que para acceder al placeholder Example solo debes poner lo siguiente:
Código: Text
frm1.Example.Controls.Clear();
Ya que con lo que tu habias escrito estabas diciendo que el objeto frm1 que es de tipo WUC_CreDes.WebForm1, tiene un atributo llamado parent1.
Para que entiendas un poco esto del casting te voy a explicar lo siguiente:
Imagina que parent1 es una persona. Tu función recibe como parametro a esa persona, pero no sabes si es chico o chica.
Para ello le tocas en sus partes (podría ser como tu has puesto: if(fofoi == "ASP.WebForm1_aspx")), y de esta manera ya sabes si es chico o chica. Así que en estos momentos es cuando haces el casting; es como si dijeras:
-Mira parent1, como se que eres chico, ahora te voy a llamar juan- en el programa "frm1"; y en el caso de que sea chica se llamará "frm2"
Por lo que una vez hecho el casting, no puedes hacer: juan.persona.pelo = rubio porque juan no tiene un atributo llamado persona, sino que juan es un objeto que hereda de persona, por lo que hay que hacer juan.pelo = amarillo
Espero haberte aclarado algo y no haberte liado mas.
Saludos y espero que te funcione
[size=109]
Ondo ibili, gutxi gastau eta bueltak amari
[/size]
[size=109]
Pasalo bien, gasta poco y las vueltas a tu madre
[/size]
see07
Miembro activo
Mensajes: 51
Re: Pasando Una Web Form Como Parametro
«
Respuesta #10 en:
Martes 22 de Marzo de 2005, 23:13 »
0
Muchísimas gracias por tu ayuda, amigo Guorker.
Saludos.
A.L.
Güorker
Miembro MUY activo
Mensajes: 383
Re: Pasando Una Web Form Como Parametro
«
Respuesta #11 en:
Miércoles 23 de Marzo de 2005, 08:00 »
0
No hay nada que agradecer, a sido un placer.
[size=109]
Ondo ibili, gutxi gastau eta bueltak amari
[/size]
[size=109]
Pasalo bien, gasta poco y las vueltas a tu madre
[/size]
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
CLR: .Net / Mono / Boo / Otros CLR
»
C#
(Moderador:
ProfesorX
) »
Pasando Una Web Form Como Parametro