2014-07-14 20 views
5

Eğer şöyle bir kod varsa:ColdFusion cfcase ifadeleri ve değişkenlerine başvurma?

<cfcase value="Test"> 
    /**Do Stuff 
</cfcase> 

mümkün mü deyim içinde bu değeri referans?

Birden davalarını ve dinamik şöyle değişkenleri başvurmak mümkün olabilir listesini bitiştirmek istiyorum:

<cfcase value="Test,Another,Yes,No"> 
    <cfif this.value EQ 'Test'> blabla </cfif> 
</cfcase> 

ben baktım her yerde bu konu hakkında ayrıntılı bir şey bulamıyorum, sadece eğer mümkünse merak ediyorum.

+0

Güzel örnekler ... aşağıda cfscript örnek dahil: Eğer böyle bir şey yapmak gerekir. Hepsini onlardan ayırdım. –

cevap

9

Evet korumak isteyeyim, bir cfcase etiketinde birden vaka deyimi çalıştırabilirsiniz:

<cfswitch expression="#URL.TestValue#"> 

    <cfcase value="Blue,Red,Orange" delimiters=","> 
     <cfoutput>#URL.TestValue#</cfoutput> 
    </cfcase> 

    <cfcase value="Yellow"> 
     <cfoutput>#URL.TestValue#</cfoutput> 
    </cfcase> 

</cfswitch> 
2

ColdFusion etiketlerini kullanmanın mümkün olduğunu düşünmüyorum. Sen <cfscript>

switch (expression) { 

    case "Test" : 
     // Do some extra stuff 
     // No break here 

    case "Another" : case "Yes" : case "No" : 
     // Do yet some normal stuff 
     break; 
    } 

Yasal Uyarı ile benzer bir şey yapabilirsiniz: Ben değil Bu kodu

6

Peki ... evet ... <cfswitch> ifadeniz #originalExpression# ise, vakanın tetiklenmesine neden olan değer ... #originalExpression#. Bu konuda zor olmana gerek yok!

IE:

<cfswitch expression="#originalExpression#"> 
    <cfcase value="Test,Another,Yes,No"> 
     <!--- stuff common to all of Test,Another,Yes,No ----> 

     <!--- stuff specific to various cases ---> 
     <cfif originalExpression EQ "test"> 
      <!--- do stuff ----> 
     <cfelseif listFindNoCase("Yes,No", originalExpression)> 
      <!--- do stuff ----> 
     <cfelse> 
      <!--- do stuff for "another" ---> 
     </cfif> 
    </cfcase> 
    <!--- other cases etc ---> 
</cfswitch>