Calocybe: Bedingtes Include

Beitrag lesen

Hallo Peter

somit ist es wohl offiziell...

Stimmt, steht uebrigens auch in der Hilfe vom IIS. Tja, SSI und ASP-Code darf eben nicht so gemischt werden. Wo SSI ist, muss ASP erst beendet sein, als ein %> vorher stehen. Hast Du ja dann auch gemacht, indem DU das IF und ELSE und END IF jeweils in eigene ASP-Abschnitte gesteckt hast. Nur wegen Deines speziellen Codes trat dann eben ein anderer Fehler auf. So sieht der Code nach dem Ausfuehren der Includes aus:

<%Session("LANG")="GER"

If Session("LANG")="GER" Then%>
    <%
    Const Hallo = "Hallo"
    %>
    <%Else%>
    <%
    Const Hallo = "Hello"
    %>
    <%End If%>

oder weiter aufgeloest:

<%
    Session("LANG")="GER"

If Session("LANG")="GER" Then
        Const Hallo = "Hallo"
    Else
        Const Hallo = "Hello"
    End If
    %>

Tja, steht leider zweimal Const auf denselben Bezeichner drin. Das ist, wie die Fehlermeldung ganz richtig sagt, eine (unzulaessige) Redefinition eines Bezeichners. (WOW! Eine aussagekraeftige Fehlermeldung von MS!) Dir wird nichts anderes Ueberigbleiben, als die Sache so ungefaehr zu machen:

<%
    Session("LANG")="GER"
    dim Hallo

If Session("LANG")="GER" Then
        Hallo = "Hallo"
    Else
        Hallo = "Hello"
    End If
    %>

oder, wenn Du unbedingt das Const drin haben willst:

<%
    const Hallo_de = "Hallo"
    const Hallo_en = "Hello"
    dim Hallo
    
    Session("LANG")="GER"

If Session("LANG")="GER" Then
        Hallo = Hallo_de
    Else
        Hallo = Hallo_en
    End If
    %>

Die Sachen innerhalb der If-Verzweigung natuerlich wieder schoen auf die Include-Dateien verteilen

Calocybe