CLR: .Net / Mono / Boo / Otros CLR > C#
Pasando Una Web Form Como Parametro
see07:
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. :D
A.L.
desgraciado:
declarandola como static no seria :( ???
Form1.Hay_PostBack(); para usarla
asi creo que es
see07:
Ya está declarada como static. :D
Güorker:
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
see07:
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???
:comp:
Navegación
[#] Página Siguiente
Ir a la versión completa