hyperlink in a ListItem

Discussion in 'ASP .Net Web Controls' started by David Thielen, Nov 18, 2006.

  1. David Thielen, Nov 18, 2006
    #1
    1. Advertising

  2. Hi Dave,

    If you're referring to following ListItem class:

    #ListItem Class (System.Web.UI.WebControls)
    http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.listitem.
    aspx
    Represents a data item in a data-bound list control.


    A ListItem control represents an individual data item within a data-bound
    list control, such as a ListBox or a RadioButtonList control. The result
    HTML that it rendered will depend on who is its container: for a ListBox
    control, a ListItem will be rendered as tag <option>; while a
    RadioButtonList will render ListItem as tag <input>.

    You cannot place a child server control inside its tag. Based on my test,
    you could place html tag <a> in its text property if it will be rendered as
    tag <input>:

    <asp:RadioButtonList ID="rdl1" runat="server">
    <asp:ListItem>item1</asp:ListItem>
    <asp:ListItem>item2</asp:ListItem>
    <asp:ListItem>Click <a href="default.aspx">here</a> for more
    info</asp:ListItem>
    </asp:RadioButtonList>


    <asp:CheckBoxList ID="check1" runat="server">
    <asp:ListItem>item1</asp:ListItem>
    <asp:ListItem>item2</asp:ListItem>
    <asp:ListItem>Click <a href="default.aspx">here</a> for more
    info</asp:ListItem>
    </asp:CheckBoxList>


    Based on your actual requirement, you might want to use other approaches
    such as creating custom data bound templated server controls; for example:

    #Building DataBound Templated Custom ASP.NET Server Controls
    http://msdn2.microsoft.com/en-us/library/aa479322.aspx


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

    ==================================================
    Get notification to my posts through email? Please refer to
    http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
    ications. If you are using Outlook Express, please make sure you clear the
    check box "Tools/Options/Read: Get 300 headers at a time" to see your reply
    promptly.

    Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
    where an initial response from the community or a Microsoft Support
    Engineer within 1 business day is acceptable. Please note that each follow
    up response may take approximately 2 business days as the support
    professional working with you may need further investigation to reach the
    most efficient resolution. The offering is not appropriate for situations
    that require urgent, real-time or phone-based interactions or complex
    project analysis and dump analysis issues. Issues of this nature are best
    handled working with a dedicated Microsoft Support Engineer by contacting
    Microsoft Customer Support Services (CSS) at
    http://msdn.microsoft.com/subscriptions/support/default.aspx.
    ==================================================

    This posting is provided "AS IS" with no warranties, and confers no rights.
     
    Walter Wang [MSFT], Nov 20, 2006
    #2
    1. Advertising

  3. I tried putting it in the text but got:
    Error 1 Validation (XHTML 1.0 Transitional): The element 'a' cannot be
    nested within the element
    'listitem'. C:\src\RePortal\portal\default.aspx 26 44 C:\...\portal\

    --
    thanks - dave
    david_at_windward_dot_net
    http://www.windwardreports.com

    Cubicle Wars - http://www.windwardreports.com/film.htm




    "Walter Wang [MSFT]" wrote:

    > Hi Dave,
    >
    > If you're referring to following ListItem class:
    >
    > #ListItem Class (System.Web.UI.WebControls)
    > http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.listitem.
    > aspx
    > Represents a data item in a data-bound list control.
    >
    >
    > A ListItem control represents an individual data item within a data-bound
    > list control, such as a ListBox or a RadioButtonList control. The result
    > HTML that it rendered will depend on who is its container: for a ListBox
    > control, a ListItem will be rendered as tag <option>; while a
    > RadioButtonList will render ListItem as tag <input>.
    >
    > You cannot place a child server control inside its tag. Based on my test,
    > you could place html tag <a> in its text property if it will be rendered as
    > tag <input>:
    >
    > <asp:RadioButtonList ID="rdl1" runat="server">
    > <asp:ListItem>item1</asp:ListItem>
    > <asp:ListItem>item2</asp:ListItem>
    > <asp:ListItem>Click <a href="default.aspx">here</a> for more
    > info</asp:ListItem>
    > </asp:RadioButtonList>
    >
    >
    > <asp:CheckBoxList ID="check1" runat="server">
    > <asp:ListItem>item1</asp:ListItem>
    > <asp:ListItem>item2</asp:ListItem>
    > <asp:ListItem>Click <a href="default.aspx">here</a> for more
    > info</asp:ListItem>
    > </asp:CheckBoxList>
    >
    >
    > Based on your actual requirement, you might want to use other approaches
    > such as creating custom data bound templated server controls; for example:
    >
    > #Building DataBound Templated Custom ASP.NET Server Controls
    > http://msdn2.microsoft.com/en-us/library/aa479322.aspx
    >
    >
    > Sincerely,
    > Walter Wang (, remove 'online.')
    > Microsoft Online Community Support
    >
    > ==================================================
    > Get notification to my posts through email? Please refer to
    > http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
    > ications. If you are using Outlook Express, please make sure you clear the
    > check box "Tools/Options/Read: Get 300 headers at a time" to see your reply
    > promptly.
    >
    > Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
    > where an initial response from the community or a Microsoft Support
    > Engineer within 1 business day is acceptable. Please note that each follow
    > up response may take approximately 2 business days as the support
    > professional working with you may need further investigation to reach the
    > most efficient resolution. The offering is not appropriate for situations
    > that require urgent, real-time or phone-based interactions or complex
    > project analysis and dump analysis issues. Issues of this nature are best
    > handled working with a dedicated Microsoft Support Engineer by contacting
    > Microsoft Customer Support Services (CSS) at
    > http://msdn.microsoft.com/subscriptions/support/default.aspx.
    > ==================================================
    >
    > This posting is provided "AS IS" with no warranties, and confers no rights.
    >
    >
     
    David Thielen, Nov 20, 2006
    #3
  4. Well, I'm afraid this is an expected issue when using html tags inside
    ListItem. This is a workaround and not documented way to do so.

    Normally we need to use a template to add arbitrary server controls or html
    tags, for example, when you're using a ItemTemplate inside GridView's
    TemplateColumn. For ListItem, it's rather limited and using the workaround
    above is really not documented and recommended.

    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], Nov 21, 2006
    #4
  5. ok - thanks

    --
    thanks - dave
    david_at_windward_dot_net
    http://www.windwardreports.com

    Cubicle Wars - http://www.windwardreports.com/film.htm




    "Walter Wang [MSFT]" wrote:

    > Well, I'm afraid this is an expected issue when using html tags inside
    > ListItem. This is a workaround and not documented way to do so.
    >
    > Normally we need to use a template to add arbitrary server controls or html
    > tags, for example, when you're using a ItemTemplate inside GridView's
    > TemplateColumn. For ListItem, it's rather limited and using the workaround
    > above is really not documented and recommended.
    >
    > 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.
    >
    >
    >
     
    David Thielen, Nov 21, 2006
    #5
    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. Mad Scientist Jr
    Replies:
    2
    Views:
    496
    Mad Scientist Jr
    Jun 29, 2004
  2. davetichenor
    Replies:
    1
    Views:
    907
    Eliyahu Goldin
    Oct 30, 2006
  3. Jim in Arizona
    Replies:
    7
    Views:
    973
    Badass Scotsman
    Nov 22, 2006
  4. Ken
    Replies:
    1
    Views:
    426
    Alvin Bruney
    Aug 16, 2003
  5. Dave
    Replies:
    0
    Views:
    997
Loading...

Share This Page