2012-01-06 2 views
3

Je travaille sur un CMS qui supporte plusieurs langues et je veux que la liste déroulante affiche "pageNames" créé semblable à l'exemple ci-dessousJ'ai besoin de montrer les données dans une liste déroulante comme une structure en arbre, j'ai essayé mais je n'ai pas pu le faire correctement dans ASP.Net

Home Page 
Second Page 
-Child Page1 
-Child Page2 
Third Page 
-Child Page1 
-Child Page2 
-Child Page3 
--Sub Child Page1 
--Sub Child Page2 

Voici la structure de la table que j'utilise pour stocker la page. Je l'ai essayé en utilisant le code SQL et C# mais je n'ai pas réussi. Si vous apprécierez si quelqu'un peut m'envoyer une requête SQL si cela peut être réalisé en utilisant une requête SQL seulement ou montrez-moi un extrait de code en C# pour le faire.

De mon côté ma structure de table semble bien toute modification de cette structure sont également les bienvenus pour améliorer les performances

tbl_Language

LangID int -- PK 
LangName nVarchar(20) -- English, Arabic, Spanish 
Lang_Code varchar(6) -- en-US, ar-AE etc 

tbl_Pages

pageID int 
PageName nVarchar(50) 
pageTitle nVarchar(200) 
pageDesc nVarchar(400) 
pageBody nVarchar(Max) 
..... 
..... 
PageParent int 
LangID int -- FK 
.... 
.... 

Merci à l'avance

Répondre

0

Utilisez une expression de table commune pour écrire une requête récursive afin de parcourir l'arborescence des pages au format sql si vous souhaitez effectuer cette opération du côté sql.

Jetez un oeil à ces liens pour plus d'informations:

+0

Merci Je verrai si je peux modifier les scripts selon mes besoins – Learning

+0

J'ai essayé et j'ai obtenu un code de travail, mais il ne donne pas la sortie exacte dont j'ai besoin dans la liste déroulante – Learning

+0

Vous pouvez faire le traitement ultérieur dans l'application, sql n'est pas une bonne langue pour ce que vous voulez faire. –

Questions connexes