Home All Groups Group Topic Archive Search About

problem with hidden field from a custom control in a form

Author
4 Jul 2006 7:39 PM
ThunderMusic
Hi,
I have a custom control that draws many thing on the screen including a
hidden field. This hidden field's value is modified through client code.
What I want to do is the following : When there is a postback of the page, I
want this hidden field to  keep it's value (from the viewstate or something
like this). Is there an easy solution? Would you need the code.

Right now I :
        create a HiddenField in the PreRender of my control
        store it in a member variable
        render it in the RenderBeginTag
        modify it from client-side code
I want to access it's value in the RenderContents method when there is a
post back but right now, the value is always blank.

Is there a solution to my problem? Am I doing the things right and missing a
little tiny thing?

Thanks

ThunderMusic

Author
4 Jul 2006 9:09 PM
ThunderMusic
ok, I found it...  I have to create my HiddenField in  the OnInit event of
my control so the viewstate is reloaded correctly between the OnInit and the
OnLoad of my control.

Thanks to all

ThunderMusic

Show quoteHide quote
"ThunderMusic" <NoSpAmdanlatathotmaildotcom@NoSpAm.com> wrote in message
news:utLwNG6nGHA.512@TK2MSFTNGP05.phx.gbl...
> Hi,
> I have a custom control that draws many thing on the screen including a
> hidden field. This hidden field's value is modified through client code.
> What I want to do is the following : When there is a postback of the page,
> I want this hidden field to  keep it's value (from the viewstate or
> something like this). Is there an easy solution? Would you need the code.
>
> Right now I :
>        create a HiddenField in the PreRender of my control
>        store it in a member variable
>        render it in the RenderBeginTag
>        modify it from client-side code
> I want to access it's value in the RenderContents method when there is a
> post back but right now, the value is always blank.
>
> Is there a solution to my problem? Am I doing the things right and missing
> a little tiny thing?
>
> Thanks
>
> ThunderMusic
>
Author
4 Jul 2006 10:12 PM
Kevin R
One of the royal pains of of asp.net is that when you are using dynamic
controls, you have to render them prior to the firing of the postback events
in order to get the original value.  To me this is excess overhead as in many
cases you may end up drawing controls twice.

You could do this in the Load event as well.

Show quoteHide quote
"ThunderMusic" wrote:

> ok, I found it...  I have to create my HiddenField in  the OnInit event of
> my control so the viewstate is reloaded correctly between the OnInit and the
> OnLoad of my control.
>
> Thanks to all
>
> ThunderMusic
>
> "ThunderMusic" <NoSpAmdanlatathotmaildotcom@NoSpAm.com> wrote in message
> news:utLwNG6nGHA.512@TK2MSFTNGP05.phx.gbl...
> > Hi,
> > I have a custom control that draws many thing on the screen including a
> > hidden field. This hidden field's value is modified through client code.
> > What I want to do is the following : When there is a postback of the page,
> > I want this hidden field to  keep it's value (from the viewstate or
> > something like this). Is there an easy solution? Would you need the code.
> >
> > Right now I :
> >        create a HiddenField in the PreRender of my control
> >        store it in a member variable
> >        render it in the RenderBeginTag
> >        modify it from client-side code
> > I want to access it's value in the RenderContents method when there is a
> > post back but right now, the value is always blank.
> >
> > Is there a solution to my problem? Am I doing the things right and missing
> > a little tiny thing?
> >
> > Thanks
> >
> > ThunderMusic
> >
>
>
>
Author
5 Jul 2006 11:31 PM
CaffieneRush@gmail.com
Do you mean to say that dynamic controls need to be recreated (not
rendered) and added back to the page control tree before the postback
events are handled?

Kevin R wrote:
Show quoteHide quote
> One of the royal pains of of asp.net is that when you are using dynamic
> controls, you have to render them prior to the firing of the postback events
> in order to get the original value.  To me this is excess overhead as in many
> cases you may end up drawing controls twice.
>
> You could do this in the Load event as well.
>
> "ThunderMusic" wrote:
>
> > ok, I found it...  I have to create my HiddenField in  the OnInit event of
> > my control so the viewstate is reloaded correctly between the OnInit and the
> > OnLoad of my control.
> >
> > Thanks to all
> >
> > ThunderMusic
> >
> > "ThunderMusic" <NoSpAmdanlatathotmaildotcom@NoSpAm.com> wrote in message
> > news:utLwNG6nGHA.512@TK2MSFTNGP05.phx.gbl...
> > > Hi,
> > > I have a custom control that draws many thing on the screen including a
> > > hidden field. This hidden field's value is modified through client code.
> > > What I want to do is the following : When there is a postback of the page,
> > > I want this hidden field to  keep it's value (from the viewstate or
> > > something like this). Is there an easy solution? Would you need the code.
> > >
> > > Right now I :
> > >        create a HiddenField in the PreRender of my control
> > >        store it in a member variable
> > >        render it in the RenderBeginTag
> > >        modify it from client-side code
> > > I want to access it's value in the RenderContents method when there is a
> > > post back but right now, the value is always blank.
> > >
> > > Is there a solution to my problem? Am I doing the things right and missing
> > > a little tiny thing?
> > >
> > > Thanks
> > >
> > > ThunderMusic
> > >
> >
> >
> >