Paginas Master c#

Sol1dSnake

Buenas mediavideros,

Tengo una dudilla. A ver si la conseguimos resolver.

Necesito de alguna forma recuperar un HiddenField de una Pagina a una Pagina Master antes de que se renderize por completo la aplicación web.

He probado haciendo un override sobre Render pero me salta una excepción a causa de que el valor del HiddenFiel de la pagina es nulo.

Lo he hecho después de renderizar y si se ha podido.

Lo necesito para poder incluir distintos menús y cabeceras dependiendo de que pagina llame o a que pagina me mueva.

Lo único que se me ocurre es instanciar en el load de la master la misma pagina otra vez y recuperar de ahí el HiddenField, ya que va a ser un valor no variable.

Un saludo.

Soltrac

Si lo necesitas para eso por qué no le envías a la siguiente página en GET o POST la información?

1 respuesta
Sol1dSnake

#2 El cliente no lo quiere de esa forma.
Pero gracias. Ya he encontrado una forma aun que no me gusta por que es larga de controlar.

Esta es sabiendo el index de los controles.

string hf1 = ((HiddenField)this.Controls[3].Controls[3].Controls[1].Controls[3]).Value;

Y esta sabiendo el ID de los controles, pero ya te digo, no me gusta, pero bueno...

for (int i = 0; i < this.Controls.Count; i++)
            {
                if (this.Controls[i].ID == "form1")
                {
                    for (int j = 0; j < this.Controls[i].Controls.Count; j++)
                    {
                        if (this.Controls[i].Controls[j].ID == "cuerpo")
                        {
                            for (int k = 0; k < this.Controls[i].Controls[j].Controls.Count; k++)
                            {
                                if (this.Controls[i].Controls[j].Controls[k].ID == "ContentPlaceHolder1")
                                {
                                    for (int l = 0; k < this.Controls[i].Controls[j].Controls[k].Controls.Count; l++)
                                    {
                                        if (this.Controls[i].Controls[j].Controls[k].Controls[l].ID == "hf")
                                        {
                                            hf1 = ((HiddenField)this.Controls[3].Controls[3].Controls[1].Controls[3]).Value;
                                            break;
                                        }
                                    }
                                break;
                                }
                            }
                        break;
                        }
                    }
                break;
                }
            }

Usuarios habituales

  • Sol1dSnake
  • Soltrac