tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
4092
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von sniffler
    sniffler sniffler ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Ort
    Oberstdorf
    Beiträge
    59
    Hallo Leute,

    Ich habe ein kleines Problem mit meinem Hoster - der unterstützt nämlich nur asp - kein PHP - und ich kann nur php.
    Ich würde gerne eine switch-case Funktion einbinden mit der ich verschiedene Seiten in einen bestimmten div includen kann und diese dann über adressen wie "index.asp?site=contact" aufrufen kann.

    Ist sowas überhaupt möglich mit asp ?
    Wenn ja, ich würde mich über Antworten sehr freuen.

    Danke Guß Chico
     

  2. #2
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    Hi

    die Syntax ist ähnlich.

    bsp.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    dim str
    select case Request.QueryString("irgendwas")
    case 1
    str = "tu dies"
    case 2
    str = "tu jenes"
    case else
    str = "tu gar nix"
    end select

    Leider kennt ASP nicht in dem Sinne include() oder require() Funktion wie in php. Wenn man ewas includen möchte, muss man den html-Befehl setzen, wie

    bsp.
    <!--#include file="../../connection/connections.asp" -->

    Das Problem ist allerdings, dass in der Regel zuerst die includes geladen werden, ohne Rücksicht auf eine Abfrage. Man muss es mal testen im select case.

    Weiterhin gibt es noch den Befehl

    server.execute "seite.asp"

    Wenn die Includes nur aus Textdateien bestehen wie z.B. html-Code, so kann man diese auch in eine spezielle config-Datei speichern und als Prozeduren aufrufen.

    bsp.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    <% sub contact %>
    <h2>Tu dies </h2>
    <% end sub %>
     
    Ausgabe dann
     
    select case Request.QueryString("site") 
    case "contact"
    call contact
    case....
    [...]
    %>
     
    liebe Grüße, die Luzie

  3. #3
    Avatar von sniffler
    sniffler sniffler ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Ort
    Oberstdorf
    Beiträge
    59
    Hey,

    vielen Dank Luzie, hab mich für die zweite Methode entschieden.
    Bin soweit auch schon ganz gut dabei - meine contents lassen sich einbinden und über "index.asp?site=contact" aufrufen.
    Jetzt hab ich nur noch einen zweiten div in den ich genauso Inhalt einfügen möchte, den ich dann auch über die URL aufrufen kann.
    Hab das auch schon gemacht und den Query.String "nav" genannt.
    Unter Opera kann ich jetzt wunderbar beide contents aufrufen - also mit folgender URL:

    "index.asp?site=contact&nav=link"

    Nur im Internetexplorer gehts bei mir leider nicht. Muss ich die Url irgendwie anders angeben oder insgesamt etwas an meinem Setup ändern ?

    Vielen dank

    Gruß Chico
     

  4. #4
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    Hallo

    nein, die Übergabe der Parameter ist scripttechnisch in Ordnung.
    Du solltest mal schauen, ob html-technisch alles ok ist, wenn Du die Parameter übergibst. Manchmal ist ein Tag nicht geschlossen (bei Tabellen z.B.).

    Einfach auch mal in den Browserseitenquellcode schauen, was wirklich los ist.
     
    liebe Grüße, die Luzie

  5. #5
    Avatar von sniffler
    sniffler sniffler ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Ort
    Oberstdorf
    Beiträge
    59
    Hallo,
    ich hab nochmal alles gecheckt - es funktioniert mit IE immer noch nicht.
    Ich hab hier mal den Quellcode:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    <div id="spaltelinks">
     
    <% 
    dim strSub : strSub = Request.QueryString("nav")
    select case strSub
    case "home"
        call homelink
    case "praxis"
        call praxislink
    case "sport"
        call sportmedizinlink
    case "diagnostik"
        call diagnostiklink
    case "therapie"
        call therapielink
    case "news"
        call newslink
    case "webcam"
        call webcamlink
    case else
        call homelink
    end select %>
     
    </div>

    das ist in einem der divs

    und das hier ist der andere:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
    <div id="content">
     
    <% 
    dim strSub2 : strSub2 = Request.QueryString("site")
    select case strSub2
    case "home"
        call home
    case "praxis"
        call praxis
    case "sport"
        call sportmedizin
    case "diagnostik"
        call diagnostik
    case "therapie"
        call therapie
    case "news"
        call news
    case "webcam"
        call webcam
    case else
        call home
    end select %>
     
     
    </div>

    natürlich hab ich die Variabeln auch noch beschrieben:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    
    <% sub home %>
    <!--#include virtual="start.asp"-->
    <% end sub %>
     
    <% sub homelink %>
    <!--#include virtual="startlink.asp"-->
    <% end sub %>
     
    <% sub praxis %>
    <!--#include virtual="praxis.asp"-->
    <% end sub %>
     
    <% sub praxislink %>
    <!--#include virtual="praxislink.asp"-->
    <% end sub %>
     
    <% sub sportmedizin %>
    <!--#include virtual="sportmedizin.asp"-->
    <% end sub %>
     
    <% sub sportmedizin %>
    <!--#include virtual="sportmedizinlink.asp"-->
    <% end sub %>
     
    <% sub diagnostik %>
    <!--#include virtual="diagnostik.asp"-->
    <% end sub %>
     
    <% sub diagnostiklink %>
    <!--#include virtual="diagnostiklink.asp"-->
    <% end sub %>
     
    <% sub therapie %>
    <!--#include virtual="therapie.asp"-->
    <% end sub %>
     
    <% sub therapielink %>
    <!--#include virtual="therapielink.asp"-->
    <% end sub %>
     
    <% sub news %>
    <!--#include virtual="news.asp"-->
    <% end sub %>
     
    <% sub newslink %>
    <!--#include virtual="newslink.asp"-->
    <% end sub %>
     
    <% sub webcam %>
    <!--#include virtual="webcam.asp"-->
    <% end sub %>
     
    <% sub webcamlink %>
    <!--#include virtual="webcamlink.asp"-->
    <% end sub %>

    In Opera lässt sich alles wunderbar mit "www.hoster.de/index.asp?site=webcam&nav=webcam " aufrufen, mit dem IE kommt immer nur mein "case else".

    Danke
    Gruß Chico
     

  6. #6
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    Hallo

    das wird nicht funktionieren, habe ich ja oben geschrieben. In ASP werden alle includes immer sofort beim Start der Seite geladen. Da nützt es nix, diese in eine Abfrage oder ene Prozedur zu stecken.

    Du kannst aber Prozeduren direkt festlegen. Prozeduren erwarten keinen Rückgabewert.

    bsp.

    Code :
    1
    2
    3
    4
    
    <% sub home %>
    <h1>Home</h1>
      <div>Dies kann ein Text in einem html-Container sein</div>
    <% end sub %>

    Warum verwendest Du keine Datenbank?
    Geht doch alles einfacher damit.
     
    liebe Grüße, die Luzie

  7. #7
    Avatar von sniffler
    sniffler sniffler ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Ort
    Oberstdorf
    Beiträge
    59
    Naja ich kenne mich leider überhaupt nicht mit MSSQL Datenbanken aus. Und ausserdem ist das doch soviel ich weiß auch noch schlecht für die Suchmaschinenoptimierung, oder ?

    gibt es wirklich gar keine Möglichkeit einen Frame mit asp zu ersetzen ?

    Gruß Chico
     

Ähnliche Themen

  1. switch/case
    Von newbie89 im Forum C/C++
    Antworten: 15
    Letzter Beitrag: 21.08.09, 11:01
  2. Switch / Case mit Strings
    Von LL0rd im Forum Java
    Antworten: 4
    Letzter Beitrag: 29.05.07, 12:51
  3. switch-case
    Von lz9c1j im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 22.12.04, 17:46
  4. C / switch-case
    Von OhneNick im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 14.07.03, 13:10
  5. switch ... case usw.
    Von eVil im Forum PHP
    Antworten: 8
    Letzter Beitrag: 24.03.02, 13:29