RenderContents not rendering programmatically set attributes inherited from System.Web.UI.WebControl

Discussion in 'ASP .Net' started by Nathan Sokalski, Jul 30, 2009.

  1. I have a custom control that inherits from System.Web.UI.WebControls.Image.
    When overriding the RenderContents method, I include the following lines of
    code:

    Me.ImageUrl="myurlstring"
    MyBase.RenderContents(writer)

    However, when I run the control, it renders the following:

    <img src="" style="border-width:0px;" />

    Notice that the "src" attribute has an empty string as it's value. However,
    when I ran the debugger, it showed that the specified value did get assigned
    to Me.ImageUrl, so I would expect it to render:

    <img src="myurlstring" style="border-width:0px;" />

    I have tried this same test with other properties such as AlternateText, and
    the same thing happened (they did not render). However, I once wrote a
    custom control that inherited System.Web.UI.WebControls.DropDownList in
    which I override RenderContents the same way (I set an inherited property
    using Me.Property=Value and then call MyBase.RenderContents(writer)), and
    that worked fine. Why is it not working here? Any help would be appreciated.
    Thanks.
     
    Nathan Sokalski, Jul 30, 2009
    #1
    1. Advertisements

  2. I found my problem. I probably should have realized this sooner (since it's
    something I already knew), but it was simply the fact that the attributes in
    the actual tag are rendered in the Render method, and RenderContents is only
    for children and stuff between the opening and closing tags. Problem Solved!
     
    Nathan Sokalski, Jul 31, 2009
    #2
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.