Avatar billede sholm Nybegynder
16. marts 2007 - 08:41 Der er 4 kommentarer og
1 løsning

BulletedList med <span>

Jeg har lavet en liste ala det her:

BulletedList bl = new BulletedList();
bl.DisplayMode = BulletedListDisplayMode.HyperLink;
ListItem li = new ListItem("Test","#");
bl.Items.Add(li);

Den spytter det her ud:
<ul>
  <li><a href="#">Test</a></li>
</ul>

Jeg vil gerne have det her:

<ul>
  <li><a href="#"><span>Test</span></a></li>
</ul>

Nogle ideer?
Avatar billede kalp Novice
16. marts 2007 - 09:53 #1
prøv
ListItem li = new ListItem("Test","#");
li..Attributes.Add("name", "item");

mener det opretter et span..
Avatar billede sholm Nybegynder
16. marts 2007 - 13:36 #2
desværre dette tilføjer blot en attribut på <li> elementet som f.eks. <li name="item">
Avatar billede snepnet Nybegynder
19. marts 2007 - 23:15 #3
Du kunne lave din egen liste - noget i denne stil:

public class SpannedBulletList : BulletedList
{
    override protected void RenderBulletText(ListItem item, int index, HtmlTextWriter writer)
    {
        switch (this.DisplayMode)
        {
            case BulletedListDisplayMode.HyperLink:
                if (!item.Enabled)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Disabled, "disabled");
                }
                else
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Href, base.ResolveClientUrl(item.Value));
                    if (!string.IsNullOrEmpty(this.Target))
                    {
                        writer.AddAttribute(HtmlTextWriterAttribute.Target, this.Target);
                    }
                }
                if(this.AccessKey.Length > 0)
                    writer.AddAttribute(HtmlTextWriterAttribute.Accesskey, this.AccessKey);
                writer.RenderBeginTag(HtmlTextWriterTag.A);
                writer.RenderBeginTag(HtmlTextWriterTag.Span);
                HttpUtility.HtmlEncode(item.Text, writer);
                writer.RenderEndTag();
                writer.RenderEndTag();
                return;

            case BulletedListDisplayMode.LinkButton:
                base.RenderBulletText(item, index, writer);
                return;
        }
    }
}

Så får du følgende output:
<ul>
  <li><a href="#"><span>Blah</span></a></li>
</ul>

Med følgende kode:
SpannedBulletList list = new SpannedBulletList();
list.DisplayMode = BulletedListDisplayMode.HyperLink;
ListItem item = new ListItem("Blah", "#");
list.Items.Add(item);
form1.Controls.Add(list);

... Der er ingen garantier for at den er helt skudsikker ;o)

Mvh
Avatar billede sholm Nybegynder
21. marts 2007 - 09:47 #4
snepnet >> Tak for forslaget - det var meget brugbart :)

Svar endelig så skal du få point.
Avatar billede snepnet Nybegynder
21. marts 2007 - 13:23 #5
Et svar kommer her :o)
Mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester