Wrox Home  
Search P2P Archive for: Go

  Return to Index  

aspx_espanol thread: Variables Publicas


Message #1 by "Jorge L. Beker" <jorgito@n...> on Wed, 27 Feb 2002 11:17:35 -0300
Como declaro una variable totalmente publica???

Lo pongo antes del evento Form_Load como public int blabla, lo mismo con los

formularios..... Pero desde los otros formularios no lo puedo usar... no

existe alguna especie de "Modulo.bas", como en vb, donde todas las variables

que declare en ese modulo sean accesible desde toda la aplicacion?



Jorge





Message #2 by "Victor Garcia Aprea" <vga@o...> on Wed, 27 Feb 2002 15:26:55 -0300
Jorge,



> Como declaro una variable totalmente publica???

No existen las variables "totalmente" publicas. Las variables que son

publicas, son publicas y listo, no pueden ser menos o mas publicas.

Si vos te referis a una variable global de C/C++ eso no existe en C#. Podes

emularla teniendo una clase de publica de utilerias donde tengas variables

estaticas.



> Lo pongo antes del evento Form_Load como public int blabla, lo

> mismo con los

> formularios..... Pero desde los otros formularios no lo puedo usar... no

Si tu problema es como pasar valores entre formularios hay diferentes

tecnicas para hacerlo (Session, Form, QueryString, variable estatica, etc).

Lo mas parecido a lo que vos pedis es esto,



En el form1 que va a llamar a otro, crea una property con un get que

devuelva el valor que queres. Tenes que crear una property por cada valor

que quieras poder acceder desde el form2.

[C#]

// Esta property devuelve el valor del editbox Apellido

public string Apellido

{  get{return edApellido.Text;}   }



Luego desde el form1 transferis la ejecucion al form2

[C#]

Server.Transfer("webform2.aspx");



En el form2 tenes que:



declarar una variable del tipo form1 y asignarla por unica vez cuando se

sirva el form2, haciendo un cast de Context.Handler:

[C#]

public WebForm1 wf1; //declarala como miembro de form2



y en el Page_Load:



if(!this.isPostBack)

{

	wf1 = (WebForm1)Context.Handler;

}



Con esto lograste tener una variable en form2 que representa al form1 y que

te va a permitir llamar a las properties que habias definido antes para

acceder a las variables que te interesen, ej. desde form2:



Response.Write( wf1.Apellido );





Por ultimo hay que tener en cuenta que para que esto funciona ambos forms

(form1 y form2) deben estar compilados en la misma DLL,



-Victor.



Message #3 by "Jorge L. Beker" <jorgito@n...> on Wed, 27 Feb 2002 16:04:14 -0300
Yo me refiero a una aplicacion cliente de winforms que usa web services para

transferir la informacion... lo que quiero es declarar una variable que

pueda usar en todos los formularios de la aplicacion.

"Victor Garcia Aprea" <vga@o...> wrote in message

news:151262@a..._espanol...

>

> Jorge,

>

> > Como declaro una variable totalmente publica???

> No existen las variables "totalmente" publicas. Las variables que son

> publicas, son publicas y listo, no pueden ser menos o mas publicas.

> Si vos te referis a una variable global de C/C++ eso no existe en C#.

Podes

> emularla teniendo una clase de publica de utilerias donde tengas variables

> estaticas.

>

> > Lo pongo antes del evento Form_Load como public int blabla, lo

> > mismo con los

> > formularios..... Pero desde los otros formularios no lo puedo usar... no

> Si tu problema es como pasar valores entre formularios hay diferentes

> tecnicas para hacerlo (Session, Form, QueryString, variable estatica,

etc).

> Lo mas parecido a lo que vos pedis es esto,

>

> En el form1 que va a llamar a otro, crea una property con un get que

> devuelva el valor que queres. Tenes que crear una property por cada valor

> que quieras poder acceder desde el form2.

> [C#]

> // Esta property devuelve el valor del editbox Apellido

> public string Apellido

> {  get{return edApellido.Text;}   }

>

> Luego desde el form1 transferis la ejecucion al form2

> [C#]

> Server.Transfer("webform2.aspx");

>

> En el form2 tenes que:

>

> declarar una variable del tipo form1 y asignarla por unica vez cuando se

> sirva el form2, haciendo un cast de Context.Handler:

> [C#]

> public WebForm1 wf1; //declarala como miembro de form2

>

> y en el Page_Load:

>

> if(!this.isPostBack)

> {

> wf1 = (WebForm1)Context.Handler;

> }

>

> Con esto lograste tener una variable en form2 que representa al form1 y

que

> te va a permitir llamar a las properties que habias definido antes para

> acceder a las variables que te interesen, ej. desde form2:

>

> Response.Write( wf1.Apellido );

>

>

> Por ultimo hay que tener en cuenta que para que esto funciona ambos forms

> (form1 y form2) deben estar compilados en la misma DLL,

>

> -Victor.

>

>

>





Message #4 by "Victor Garcia Aprea" <vga@o...> on Wed, 27 Feb 2002 17:02:14 -0300

Las variables "totalmente" publicas no existen en C#, no importa si te

referis a una aplicacion ASP.NET o a una aplicacion WinForm, o a un

webservice o a lo que se te ocurra...



> -----Original Message-----

> From: Jorge L. Beker [mailto:jorgito@n...]

> Sent: Wednesday, February 27, 2002 4:04 PM

> To: ASP.Net en Español

> Subject: [aspx_espanol] Re: Variables Publicas

>

>

> Yo me refiero a una aplicacion cliente de winforms que usa web

> services para

> transferir la informacion... lo que quiero es declarar una variable que

> pueda usar en todos los formularios de la aplicacion.

> "Victor Garcia Aprea" <vga@o...> wrote in message

> news:151262@a..._espanol...

> >

> > Jorge,

> >

> > > Como declaro una variable totalmente publica???

> > No existen las variables "totalmente" publicas. Las variables que son

> > publicas, son publicas y listo, no pueden ser menos o mas publicas.

> > Si vos te referis a una variable global de C/C++ eso no existe en C#.

> Podes

> > emularla teniendo una clase de publica de utilerias donde

> tengas variables

> > estaticas.

> >

> > > Lo pongo antes del evento Form_Load como public int blabla, lo

> > > mismo con los

> > > formularios..... Pero desde los otros formularios no lo puedo

> usar... no

> > Si tu problema es como pasar valores entre formularios hay diferentes

> > tecnicas para hacerlo (Session, Form, QueryString, variable estatica,

> etc).

> > Lo mas parecido a lo que vos pedis es esto,

> >

> > En el form1 que va a llamar a otro, crea una property con un get que

> > devuelva el valor que queres. Tenes que crear una property por

> cada valor

> > que quieras poder acceder desde el form2.

> > [C#]

> > // Esta property devuelve el valor del editbox Apellido

> > public string Apellido

> > {  get{return edApellido.Text;}   }

> >

> > Luego desde el form1 transferis la ejecucion al form2

> > [C#]

> > Server.Transfer("webform2.aspx");

> >

> > En el form2 tenes que:

> >

> > declarar una variable del tipo form1 y asignarla por unica vez cuando se

> > sirva el form2, haciendo un cast de Context.Handler:

> > [C#]

> > public WebForm1 wf1; //declarala como miembro de form2

> >

> > y en el Page_Load:

> >

> > if(!this.isPostBack)

> > {

> > wf1 = (WebForm1)Context.Handler;

> > }

> >

> > Con esto lograste tener una variable en form2 que representa al form1 y

> que

> > te va a permitir llamar a las properties que habias definido antes para

> > acceder a las variables que te interesen, ej. desde form2:

> >

> > Response.Write( wf1.Apellido );

> >

> >

> > Por ultimo hay que tener en cuenta que para que esto funciona

> ambos forms

> > (form1 y form2) deben estar compilados en la misma DLL,

> >

> > -Victor.

> >

> >

> >

>

>

>

> ---

> Usted está suscrito a aspx_espanol como:

> vga@o...

> Para darse de baja, envíe un mensaje en blanco a

> $subst('Email.Unsub')

>




> $subst('Email.Unsub').

>




  Return to Index