ASP.NET Custom Server Controls: Combining ImageHoverButton and RoundCorneredButton - Creating the body (content)
(Page 5 of 8 )
Creating the body would be very similar to creating the header. But, we need to play a trick to allow the developer to write his own message during the rendering of the control, and of course the icon, too. This is the only complex issue to handle in our control.
Let us add the first cell of the row (middle left) using the following code fragment (continuing from the above code fragment within the same “RenderBeginTag” method).
writer.RenderBeginTag(HtmlTextWriterTag.Tr)
'middle left
writer.AddAttribute(HtmlTextWriterAttribute.Width, "0px")
writer.AddAttribute(HtmlTextWriterAttribute.Height,
"0px")
writer.AddAttribute(HtmlTextWriterAttribute.Id, Me.ClientID & "_td_MiddleLeft")
If Me.ImageMiddleLeftURL.Trim.Length > 0 Then
writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundImage, "url(" &
Me.ImageMiddleLeftURL.Trim & ")")
writer.AddStyleAttribute("background-repeat",
"repeat-y")
End If
writer.RenderBeginTag(HtmlTextWriterTag.Td)
writer.RenderEndTag() 'td
The above completes the creation of the first cell in this section. Now we create the second cell without closing it. I just open the middle cell with “<td>” tag and don’t close it at all. This allows the developer to write his own content according to his needs. Then what will close the cell? The next section will explain that.
'middle middle (center)
writer.AddAttribute(HtmlTextWriterAttribute.Width, "100%")
writer.AddAttribute(HtmlTextWriterAttribute.Height,
"100%")
writer.AddAttribute(HtmlTextWriterAttribute.Id, Me.ClientID & "_td_MiddleMiddle")
If Me.ImageMiddleMiddleURL.Trim.Length > 0 Then
writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundImage, "url(" &
Me.ImageMiddleMiddleURL.Trim & ")")
End If
writer.RenderBeginTag(HtmlTextWriterTag.Td)
'adding icon (only if available)
If Me.ImageIconURL.Trim.Length > 0 Then
writer.AddAttribute(HtmlTextWriterAttribute.Src,
Me.ImageIconURL.Trim)
writer.RenderBeginTag(HtmlTextWriterTag.Img)
writer.RenderEndTag() 'img
End If
You can observe (within the last “if” structure) that I added the icon, which is expected to display just before the text. You can look at the last statement. It only opens “<TD>” and does not closes it yet.
Next: Closing the body (content) and creating the footer >>
More ASP.NET Articles
More By Jagadish Chaterjee