|
 |
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').
>
|
|
 |