2009-02-20 11 views
2

J'ai une table avec des noms Region_Name, Region_ID, et un autre avec Area_Name, les champs Region_ID (chaque région a des zones qui lui appartiennent). Je veux afficher sur ma page asp.net une liste de liens (quelque chose qui ressemble à un treeView) alors quand quelqu'un clique sur Ex Bronx de région de New York dans cette liste:TreeView-like liste de liens

  • de New York

    • Le Bronx

    • Brooklyn

    • Manhattan

  • Kentucky

    • Ashland

    • Bardstown

  • New Jersey

    • Essex

    • Middlesex

etc .... etc ... Ainsi, en dehors des bases, je veux savoir comment remplir la liste ci-dessus automatiquement et assurez-vous que les résultats sont TOUS les liens, en d'autres termes, New York est un lien, le Bronx est un lien, et tous les éléments de la liste sont des liens que j'attacherai plus tard un queryString à ...

J'utilise VB .Net et ASP.Net 3.5. Merci d'avance

+0

Les liens URL sont-ils également dans les tables Région et Zone? –

Répondre

1

Merci pour tous ceux qui ont répondu ou ont tenté de. j'ai découvert une autre solution encore facile:

Dans mon page_load j'ai appelé:

labelwhatever.text = outputRegionAsLinks()

et la fonction est:

Private Function outputRegionAsLinks() As String 
    Dim sb As New StringBuilder 
    Dim regionsTable As GKP.tblRegionsDataTable = Regions.GetRegions() 

    For Each region In regionsTable 
     sb.Append("<a href=''>") 
     sb.Append(region.RegionName) 
     sb.Append("</a>") 
     sb.Append("<br />") 
    Next 



    Return sb.ToString 

End Function 

De cette façon, je peux éviter la surcharge de la création de boutons de liaison de asp ou des hyperliens, et injecter directement les balises HTML dans ma forme, et d'adapter aussi les liens comme je le souhaite.

1

Si vous voulez le faire de manière déclarative, utilisez les commandes Répéteur imbriquées. L'extérieur pour faire une boucle dans la table des régions et l'intérieur pour les zones, en fonction de l'ID de la région bien sûr.

Une façon simple de faire des répéteurs imbriqués consiste à utiliser un DataSet et à créer une relation entre les deux DataTables pertinents.

Voici un bon exemple: http://jamesewelch.com/2008/03/06/how-to-use-nested-repeater-controls-with-relational-data/