CLR: .Net / Mono / Boo / Otros CLR > C#

 Pasando Una Web Form Como Parametro

(1/3) > >>

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

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa