2016-10-31 5 views
-1

Puis-je utiliser une autre instruction cfswitch dans le même cas cfswitch?Puis-je utiliser une autre instruction cfswitch dans le même cas cfswitch?

<CFSWITCH EXPRESSION="nameOfPg"> 
    <CFCASE VALUE="ClassMenu" > 
    <!---do something---> 
    </CFCASE> 
    <CFCASE VALUE="ReportsMenu"> 
    <CFSWITCH EXPRESSION="#nameOfPg#"> 
     <CFCASE VALUE="StudentMenu"> 
     <!---do something---> 
     </CFCASE> 
     <CFCASE VALUE="DetailsMenu"> 
     <!---do something---> 
     </CFCASE> 
    </CFSWITCH> 
    </CFCASE> 
    <CFDEFAULTCASE> 
    <!---do something---> 
    </CFDEFAULTCASE> 
</CFSWITCH> 
+0

Bonjour et bienvenue sur StackOverflow. Veuillez prendre le temps de lire la page d'aide, en particulier les sections intitulées ["Quels sujets puis-je poser à propos d'ici?"] (Http://stackoverflow.com/help/on-topic) et ["Quels types de questions dois-je évitez de demander? "] (http://stackoverflow.com/help/dont-ask). Et plus important, s'il vous plaît lire [la liste de contrôle de la question Stack Overflow] (http://meta.stackexchange.com/q/156810/204922). Vous pouvez également en savoir plus sur [Exemples minimaux, complets et vérifiables] (http://stackoverflow.com/help/mcve). –

+5

Pourquoi ne pas simplement essayer? Dans le pire des cas, vous aurez une erreur et il vous dira que vous ne pouvez pas le faire. – ale

Répondre

0

Oui, vous pouvez. L'attribut EXPRESSION peut être dynamique (par exemple une variable telle que nameOfPg), mais faites attention aux hachages #. (Votre supérieur CFSWITCH) évalue la chaîne, pas la valeur réelle de la variable nameOfPg.

nameOfPg Pour résoudre une variable dans un attribut, vous devez utiliser des hachages # comme vous l'avez fait dans votre CFSWITCH interne: #nameOfPg#.

corriger votre code:

<CFSWITCH EXPRESSION="#nameOfPg#"> 
    <CFCASE VALUE="ClassMenu" > 
    <!---do something---> 

et vous devriez être bon. D'un autre côté, CFCASE ne permet pas l'utilisation de valeurs dynamiques (en raison du mode de fonctionnement d'un commutateur dans Java/ColdFusion). Vous devez toujours utiliser une valeur statique ici comme vous le faites maintenant. Gardez cela en tête.

+0

wow, je vois maintenant. Il me manquait les hachages. Merci pour l'aide. L'exemple de code J'ai utilisé la même EXPRESSION (par exemple, # nomOfPg #), mais je veux savoir, Puis-je utiliser EXPRESSION différente dans les deux cfswitches? – kiara

+0

Oui, ils peuvent être différents. – Alex