470,641 Members | 1,450 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 470,641 developers. It's quick & easy.

Id and CssClass not defined

Hello,

I created a custom control that inherits CompositeControl:

Public Class MySection
Inherits CompositeControl
...
Protected Overrides Sub CreateChildControls()
...
MyBase.CreateChildControls()
Me.ChildControlsCreated = True
End Sub

End Class MySection

When I use this control I define its ID and CssClass.
However, when I check the rendered output the ID and CssClass are not
defined.
What am I doing wrong?

Shoudn't this be working, since I am inheriting my control from
CompositeControl?

Thanks,
Miguel
Dec 28 '07 #1
2 1292
Hi Shapper,

HTML output should be rendered as <span id="yourId"
class="yourclass"></span>. In addition, there's no need for setting
ChildControlsCreated to true because EnsureChildControls method does it for
you.
I'm guessing something else is causing problem, paste all the code.
--
Milosz
"shapper" wrote:
Hello,

I created a custom control that inherits CompositeControl:

Public Class MySection
Inherits CompositeControl
...
Protected Overrides Sub CreateChildControls()
...
MyBase.CreateChildControls()
Me.ChildControlsCreated = True
End Sub

End Class MySection

When I use this control I define its ID and CssClass.
However, when I check the rendered output the ID and CssClass are not
defined.
What am I doing wrong?

Shoudn't this be working, since I am inheriting my control from
CompositeControl?

Thanks,
Miguel
Dec 30 '07 #2
On Dec 30, 1:12 am, Milosz Skalecki [MCAD] <mily...@DONTLIKESPAMwp.pl>
wrote:
Hi Shapper,

HTML output should be rendered as <span id="yourId"
class="yourclass"></span>. In addition, there's no need for setting
ChildControlsCreated to true because EnsureChildControls method does it for
you.
I'm guessing something else is causing problem, paste all the code.
--
Milosz

"shapper" wrote:
Hello,
I created a custom control that inherits CompositeControl:
Public Class MySection
Inherits CompositeControl
...
Protected Overrides Sub CreateChildControls()
...
MyBase.CreateChildControls()
Me.ChildControlsCreated = True
End Sub
End Class MySection
When I use this control I define its ID and CssClass.
However, when I check the rendered output the ID and CssClass are not
defined.
What am I doing wrong?
Shoudn't this be working, since I am inheriting my control from
CompositeControl?
Thanks,
Miguel
Hi,

I think I found the problem. In my custom control I also have the
following:

Public Overloads Overrides Sub RenderBeginTag(ByVal writer As
HtmlTextWriter)
writer.RenderBeginTag(HtmlTextWriterTag.Div)
End Sub ' RenderBeginTag
Public Overloads Overrides Sub RenderEndTag(ByVal writer As
HtmlTextWriter)
writer.RenderEndTag()
End Sub ' RenderEndTag

I changed it to:

Public Overloads Overrides Sub RenderBeginTag(ByVal writer As
HtmlTextWriter)

With writer
If Me.ID <Nothing
Then .AddAttribute(HtmlTextWriterAttribute.Id, Me.ID)
If Me.CssClass <Nothing
Then .AddAttribute(HtmlTextWriterAttribute.Class, Me.CssClass)
End With
With writer
If Me.Width <Nothing
Then .AddAttribute(HtmlTextWriterAttribute.Style, "width: " &
Me.Width.ToString)
End With

' Render begin tag
writer.RenderBeginTag(HtmlTextWriterTag.Div)

End Sub ' RenderBeginTag

Now it is working.

Am I doing this right? Do I really need to do this?

Thanks,
Miguel
Dec 30 '07 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by Steve Kallal | last post: by
6 posts views Thread by msuk | last post: by
6 posts views Thread by tshad | last post: by
1 post views Thread by chrisfox | last post: by
1 post views Thread by Mirek Endys | last post: by
2 posts views Thread by Kevin L. Kitchens | last post: by
3 posts views Thread by shapper | last post: by
1 post views Thread by Jonathan Wood | last post: by
1 post views Thread by Korara | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.