Overriding renderBeginTag is bad?

Discussion in 'ASP .Net Building Controls' started by TS, Jun 6, 2007.

  1. TS

    TS Guest

    If i have a control that inherits from a class in Webcontrols (ie textbox)
    and then overrides RenderBeginTag, isn't this not recommended since the
    UI/Browser specific web attributes won't get set by framework? I always read
    that you should override renderContents instead of the combination of
    renderBeginTag, Render, RenderEndTag for this reason.

    Does anyone agree or disagree?

    thanks!
    TS, Jun 6, 2007
    #1
    1. Advertising

  2. TS

    TS Guest

    I guess maybe if you call the base implementation inside the render methods,
    these UI/browser attributes would get set and no issues would be seen?


    "TS" <> wrote in message
    news:...
    > If i have a control that inherits from a class in Webcontrols (ie textbox)
    > and then overrides RenderBeginTag, isn't this not recommended since the
    > UI/Browser specific web attributes won't get set by framework? I always

    read
    > that you should override renderContents instead of the combination of
    > renderBeginTag, Render, RenderEndTag for this reason.
    >
    > Does anyone agree or disagree?
    >
    > thanks!
    >
    >
    TS, Jun 6, 2007
    #2
    1. Advertising

  3. Hi TS,

    I think this will depend on what's the design objective of your control.
    The default implementation of RenderBeginTag will render the control's open
    tag. If you need to completely control how the resulting HTML, feel free to
    override it.

    Please feel free to let me know your detailed requirement of the control so
    that we can further discuss it. Thanks.

    Regards,
    Walter Wang (, remove 'online.')
    Microsoft Online Community Support

    ==================================================
    When responding to posts, please "Reply to Group" via your newsreader so
    that others may learn and benefit from your issue.
    ==================================================

    This posting is provided "AS IS" with no warranties, and confers no rights.
    Walter Wang [MSFT], Jun 7, 2007
    #3
  4. TS

    TS Guest

    well my point is that i am just curious whether UI/Browser specific web
    attributes won't get set by framework in this implementation

    "Walter Wang [MSFT]" <> wrote in message
    news:...
    > Hi TS,
    >
    > I think this will depend on what's the design objective of your control.
    > The default implementation of RenderBeginTag will render the control's

    open
    > tag. If you need to completely control how the resulting HTML, feel free

    to
    > override it.
    >
    > Please feel free to let me know your detailed requirement of the control

    so
    > that we can further discuss it. Thanks.
    >
    > Regards,
    > Walter Wang (, remove 'online.')
    > Microsoft Online Community Support
    >
    > ==================================================
    > When responding to posts, please "Reply to Group" via your newsreader so
    > that others may learn and benefit from your issue.
    > ==================================================
    >
    > This posting is provided "AS IS" with no warranties, and confers no

    rights.
    >
    TS, Jun 7, 2007
    #4
  5. TS

    TS Guest

    can you confirm this statement in my last post?


    "TS" <> wrote in message
    news:...
    > well my point is that i am just curious whether UI/Browser specific web
    > attributes won't get set by framework in this implementation
    >
    > "Walter Wang [MSFT]" <> wrote in message
    > news:...
    > > Hi TS,
    > >
    > > I think this will depend on what's the design objective of your control.
    > > The default implementation of RenderBeginTag will render the control's

    > open
    > > tag. If you need to completely control how the resulting HTML, feel free

    > to
    > > override it.
    > >
    > > Please feel free to let me know your detailed requirement of the control

    > so
    > > that we can further discuss it. Thanks.
    > >
    > > Regards,
    > > Walter Wang (, remove 'online.')
    > > Microsoft Online Community Support
    > >
    > > ==================================================
    > > When responding to posts, please "Reply to Group" via your newsreader so
    > > that others may learn and benefit from your issue.
    > > ==================================================
    > >
    > > This posting is provided "AS IS" with no warranties, and confers no

    > rights.
    > >

    >
    >
    TS, Jun 11, 2007
    #5
  6. Hi TS,

    Sorry for the delay.

    Based on my understanding, your question is actually about how ASP.NET
    renders differently for different browser/device.

    If you take a look at the WebControl.RenderBeginTag using Reflector
    (http://www.aisto.com/roeder/dotnet/), you will see it's calling into the
    HtmlTextWriter.RenderBeginTag to do the rendering. The default
    HtmlTextWriter renders HTML 4.0-compliant markup; and the Html32TextWriter,
    which renders HTML 3.2-compliant markup. (The Html32TextWriter class is
    derived from the HtmlTextWriter class)

    When the Page class enters its render stage, it starts by creating a new
    HtmlTextWriter instance. It determines what class instance to create -
    HtmlTextWriter or Html32TextWriter - by inspecting the TagWriter property
    of the Browser object. The Browser object contains read-only properties
    that provides information about the browser that was used to request the
    page. A web browser is identified by its User-Agent string.

    Whenever a Web browser requests a page, it sends along a User-Agent string
    in the HTTP headers that is used to identify the browser. The ASP.NET
    engine examines the User-Agent string to determine the value for the
    Browser's properties.

    Therefore for your original question about overriding
    WebControl.RenderBeginTag, as long as you're using the HtmlTextWriter
    reference to output the text, it should still be adaptive for different
    browser/device.

    Hope this helps. Please feel free to let me know if there's anything
    unclear. Thanks.


    Regards,
    Walter Wang (, remove 'online.')
    Microsoft Online Community Support

    ==================================================
    When responding to posts, please "Reply to Group" via your newsreader so
    that others may learn and benefit from your issue.
    ==================================================

    This posting is provided "AS IS" with no warranties, and confers no rights.
    Walter Wang [MSFT], Jun 12, 2007
    #6
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Replies:
    3
    Views:
    541
    Steven Cheng[MSFT]
    Oct 9, 2006
  2. shapper

    RenderBeginTag

    shapper, Dec 28, 2006, in forum: ASP .Net
    Replies:
    0
    Views:
    1,653
    shapper
    Dec 28, 2006
  3. rantingrick
    Replies:
    44
    Views:
    1,177
    Peter Pearson
    Jul 13, 2010
  4. Henri
    Replies:
    1
    Views:
    366
    Henri
    Jul 13, 2004
  5. Lisa

    Why can't I override RenderBeginTag?

    Lisa, Sep 22, 2004, in forum: ASP .Net Building Controls
    Replies:
    1
    Views:
    145
    John Saunders
    Sep 22, 2004
Loading...

Share This Page