Ver InitializeComponent desde una página ASP .Net

23/10/2007 - 16:02 por Javito | Informe spam
Me podríais decir como consigo acceder al método InitiliazeComponent en el
que se introducen los objetos de un formulario Web, llevo dos días
buscandolo y no llego a el, en 2003 era una región escondida pero ahora en
2005 y con C# no consigo encontrarlo

un saludo

Preguntas similare

Leer las respuestas

#11 AngelGarza
25/10/2007 - 01:38 | Informe spam
Javito,

para esta nueva version se introdujo la opción de poder crear clases,
interfaces o estructuras parciales tomando como premisa que todas estas
clases con el mismo nombre y anteponiendo el comando "partial" deben estar
accesibles al momento de la ejecucion.

public partial class Ejemplo
{
public void Metodo1();
}

public partial class Ejemplo
{
public void Metodo2();
}

Esto trae consigo varias ventajas, sobretodo que clases muy grandes pueden
ser creadas en varios archivos diferentes e inclusive que varios
programadores esten trabajando en la misma clase (cada uno en un archivo
distinto enfocado en cierta funcionalidad), etc.

Esta funcionalidad la aprovechan los generadores de codigo, como los
designers, que para hacer mas limpio tu codigo y evitar tanto parseo en
ocasiones, todo ese codigo de InitializeComponent y demas se crea en una
clase "partial" por separado y al momento de la compilacion se junta todo en
una.

Si tienes problemas con el Intellisense para que te reconosca los objetos
debes revisar que tu HTML debe estar bien formado y que a tu control no le
falte el atributo runat=Server, como ya te lo han mencionado. Otra cosa por
la que sucede esto es porque creas directamente el control en el HTML source
y no a traves del designer. Si tienes acceso a este ultimo, basta con que le
des doble click al control que agregaste para que el Intellisense lo
reconosca.

Si agregas todo en el HTML source directametne ya no tienes que preocuparte
por agregar eventHandlers en codebehind, es en el mismo HTML:

<asp:TextBox ID="txt1" runat="server" OnTextChanged="LlamadaDePrueba" />

y en tu codebehind solo defines el metodo:

protected void LlamadaDePrueba(object sender, EventArgs e)
{
//Implementacion
}

y al momento de compilar debe reconocertelo y "ligarlo" sin problema. De la
misma forma el accesar un objeto con el this, si no te aparece asume que
existe:

this.ControlSinAparecer.PropiedadQueNecesito = valor;

y al momento de compilar debe reconocertelo sin problema.

espero esta informacion te sirva.

saludos
"Javito" wrote:

Me podríais decir como consigo acceder al método InitiliazeComponent en el
que se introducen los objetos de un formulario Web, llevo dos días
buscandolo y no llego a el, en 2003 era una región escondida pero ahora en
2005 y con C# no consigo encontrarlo

un saludo



Respuesta Responder a este mensaje
#12 Javito
26/10/2007 - 18:26 | Informe spam
gracias Angel lo voy a mirar, lo que si veo es que es un sistema muy
cabezón, si cometiste un error y tu control no aparece, aunque luego lo
corrijas ya le ha tomado manía al control y ya no te lo vuelve a ver, de
todas formas probaré las soluciones que me indicas y de nuevo gracias.
"AngelGarza" escribió en el mensaje
news:

Javito,

para esta nueva version se introdujo la opción de poder crear clases,
interfaces o estructuras parciales tomando como premisa que todas estas
clases con el mismo nombre y anteponiendo el comando "partial" deben estar
accesibles al momento de la ejecucion.

public partial class Ejemplo
{
public void Metodo1();
}

public partial class Ejemplo
{
public void Metodo2();
}

Esto trae consigo varias ventajas, sobretodo que clases muy grandes pueden
ser creadas en varios archivos diferentes e inclusive que varios
programadores esten trabajando en la misma clase (cada uno en un archivo
distinto enfocado en cierta funcionalidad), etc.

Esta funcionalidad la aprovechan los generadores de codigo, como los
designers, que para hacer mas limpio tu codigo y evitar tanto parseo en
ocasiones, todo ese codigo de InitializeComponent y demas se crea en una
clase "partial" por separado y al momento de la compilacion se junta todo
en
una.

Si tienes problemas con el Intellisense para que te reconosca los objetos
debes revisar que tu HTML debe estar bien formado y que a tu control no le
falte el atributo runat=Server, como ya te lo han mencionado. Otra cosa
por
la que sucede esto es porque creas directamente el control en el HTML
source
y no a traves del designer. Si tienes acceso a este ultimo, basta con que
le
des doble click al control que agregaste para que el Intellisense lo
reconosca.

Si agregas todo en el HTML source directametne ya no tienes que
preocuparte
por agregar eventHandlers en codebehind, es en el mismo HTML:

<asp:TextBox ID="txt1" runat="server" OnTextChanged="LlamadaDePrueba" />

y en tu codebehind solo defines el metodo:

protected void LlamadaDePrueba(object sender, EventArgs e)
{
//Implementacion
}

y al momento de compilar debe reconocertelo y "ligarlo" sin problema. De
la
misma forma el accesar un objeto con el this, si no te aparece asume que
existe:

this.ControlSinAparecer.PropiedadQueNecesito = valor;

y al momento de compilar debe reconocertelo sin problema.

espero esta informacion te sirva.

saludos
"Javito" wrote:

Me podríais decir como consigo acceder al método InitiliazeComponent en
el
que se introducen los objetos de un formulario Web, llevo dos días
buscandolo y no llego a el, en 2003 era una región escondida pero ahora
en
2005 y con C# no consigo encontrarlo

un saludo



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida