Connecting Tech Pros Worldwide Help | Site Map

A composite control

 
LinkBack Thread Tools Search this Thread
  #1  
Old November 19th, 2005, 11:02 AM
James T.
Guest
 
Posts: n/a
Default A composite control

Hello!

I developed a composite control that inherits from HyperLink and overrides
Render method.

In web form I am using this control with DataGrid. On DataGrid ItemDataBound
event I set ImageWidth and ImageHeight values programmatically. But on
post-back the control loses ImageWidth and ImageHeight values.

What I am doing wrong?

Thank you!
James


CODE:
-----------------------

Protected Overrides Sub Render(ByVal Output As System.Web.UI.HtmlTextWriter)

Output.AddAttribute(HtmlTextWriterAttribute.Href, Me.NavigateUrl)
Output.RenderBeginTag(HtmlTextWriterTag.A)

If ImageUrl.Length = 0 Then
Output.Write([Text])
Else

Output.AddAttribute(HtmlTextWriterAttribute.Src, ImageUrl)
Output.AddAttribute(HtmlTextWriterAttribute.Alt, [Text])
Output.AddAttribute(HtmlTextWriterAttribute.Height , ImageHeight)
Output.AddAttribute(HtmlTextWriterAttribute.Width, ImageWidth)

If Not (ImageHeight Is Nothing) Then
Output.AddAttribute(HtmlTextWriterAttribute.Height , ImageHeight)
End If

If Not (ImageWidth Is Nothing) Then
Output.AddAttribute(HtmlTextWriterAttribute.Width, ImageWidth)
End If

Output.RenderBeginTag(HtmlTextWriterTag.Img)
Output.RenderEndTag()

End If
Output.RenderEndTag()

End Sub



  #2  
Old November 19th, 2005, 11:03 AM
Yunus Emre ALPÖZEN [MCAD.NET]
Guest
 
Posts: n/a
Default Re: A composite control

you should save your values in a viewstate or a inline property... It loses
its state..

--

Thanks,
Yunus Emre ALPÖZEN
BSc, MCAD.NET

"James T." <gimenei@hotmail.com> wrote in message
news:eXOwwA%23WFHA.3348@TK2MSFTNGP14.phx.gbl...[color=blue]
> Hello!
>
> I developed a composite control that inherits from HyperLink and overrides
> Render method.
>
> In web form I am using this control with DataGrid. On DataGrid
> ItemDataBound event I set ImageWidth and ImageHeight values
> programmatically. But on post-back the control loses ImageWidth and
> ImageHeight values.
>
> What I am doing wrong?
>
> Thank you!
> James
>
>
> CODE:
> -----------------------
>
> Protected Overrides Sub Render(ByVal Output As
> System.Web.UI.HtmlTextWriter)
>
> Output.AddAttribute(HtmlTextWriterAttribute.Href, Me.NavigateUrl)
> Output.RenderBeginTag(HtmlTextWriterTag.A)
>
> If ImageUrl.Length = 0 Then
> Output.Write([Text])
> Else
>
> Output.AddAttribute(HtmlTextWriterAttribute.Src, ImageUrl)
> Output.AddAttribute(HtmlTextWriterAttribute.Alt, [Text])
> Output.AddAttribute(HtmlTextWriterAttribute.Height , ImageHeight)
> Output.AddAttribute(HtmlTextWriterAttribute.Width, ImageWidth)
>
> If Not (ImageHeight Is Nothing) Then
> Output.AddAttribute(HtmlTextWriterAttribute.Height , ImageHeight)
> End If
>
> If Not (ImageWidth Is Nothing) Then
> Output.AddAttribute(HtmlTextWriterAttribute.Width, ImageWidth)
> End If
>
> Output.RenderBeginTag(HtmlTextWriterTag.Img)
> Output.RenderEndTag()
>
> End If
> Output.RenderEndTag()
>
> End Sub
>[/color]


  #3  
Old November 19th, 2005, 11:03 AM
Steve C. Orr [MVP, MCSD]
Guest
 
Posts: n/a
Default Re: A composite control

You should probably be storing those values in ViewState between postbacks.
Here's an example of a custom control that uses ViewState to store similar
custom values and retrieve them again when needed.
http://SteveOrr.net/articles/InheritAndExtend.aspx

--
I hope this helps,
Steve C. Orr, MCSD, MVP
http://SteveOrr.net


"James T." <gimenei@hotmail.com> wrote in message
news:eXOwwA%23WFHA.3348@TK2MSFTNGP14.phx.gbl...[color=blue]
> Hello!
>
> I developed a composite control that inherits from HyperLink and overrides
> Render method.
>
> In web form I am using this control with DataGrid. On DataGrid
> ItemDataBound event I set ImageWidth and ImageHeight values
> programmatically. But on post-back the control loses ImageWidth and
> ImageHeight values.
>
> What I am doing wrong?
>
> Thank you!
> James
>
>
> CODE:
> -----------------------
>
> Protected Overrides Sub Render(ByVal Output As
> System.Web.UI.HtmlTextWriter)
>
> Output.AddAttribute(HtmlTextWriterAttribute.Href, Me.NavigateUrl)
> Output.RenderBeginTag(HtmlTextWriterTag.A)
>
> If ImageUrl.Length = 0 Then
> Output.Write([Text])
> Else
>
> Output.AddAttribute(HtmlTextWriterAttribute.Src, ImageUrl)
> Output.AddAttribute(HtmlTextWriterAttribute.Alt, [Text])
> Output.AddAttribute(HtmlTextWriterAttribute.Height , ImageHeight)
> Output.AddAttribute(HtmlTextWriterAttribute.Width, ImageWidth)
>
> If Not (ImageHeight Is Nothing) Then
> Output.AddAttribute(HtmlTextWriterAttribute.Height , ImageHeight)
> End If
>
> If Not (ImageWidth Is Nothing) Then
> Output.AddAttribute(HtmlTextWriterAttribute.Width, ImageWidth)
> End If
>
> Output.RenderBeginTag(HtmlTextWriterTag.Img)
> Output.RenderEndTag()
>
> End If
> Output.RenderEndTag()
>
> End Sub
>[/color]


 

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Popular Articles

What is Bytes?

We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights. Get the best answers to your questions from over 220,662 network members.