ASP.NET Custom Server Controls: Dynamically Expandable Round Cornered Button - Creating the body (content)
(Page 5 of 7 )
Creating the body would also be very similar to the header. But, we need to play a trick to allow the developer to write his own message during the rendering of the control. This is the only complex issue to handle in our control.
Let us first add the first cell of the row (Middle left) using the following code fragment (a continuation 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")
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. 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 who will close the cell? The next section will explain that.
'middle middle (center)
writer.AddAttribute(HtmlTextWriterAttribute.Width,
"100%")
writer.AddAttribute(HtmlTextWriterAttribute.Height,
"100%")
If Me.ImageMiddleMiddleURL.Trim.Length > 0 Then
writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundImage, "url(" &
Me.ImageMiddleMiddleURL.Trim & ")")
End If
writer.RenderBeginTag(HtmlTextWriterTag.Td)
You can look at the last statement. It only opens “<TD>” and does not close it yet.
Next: Closing the body (content) and creating the footer >>
More ASP.NET Articles
More By Jagadish Chaterjee