Rannh: ASP-Code nur bei Klick auf Link ausführen

Es geht dabei darum, dass in einer Datei "Test.asp" unten ein Logout-Link ist. Falls der User auf diesen klickt, muss ich eben VB-Code ausführen (nur eine Variable ändern) und zwar in der gleichen File.

Weiss einer Rat?

  1. Hallo Rannh !

    Es geht dabei darum, dass in einer Datei "Test.asp" unten ein Logout-Link ist.

    ... der dann hoffentlich eine weitere .asp-Seite aufruft, die ihn "ausloggt" (is'n bisschen komplizierter, als es eben mal zu erklären)

    Falls der User auf diesen klickt, muss ich eben VB-Code ausführen (nur eine Variable ändern) und zwar in der gleichen File.

    Vielleicht bist du dir bewusst, dass ASP bzw. meinetwegen der VBs-Code, der dort steht, serverseitig ausgeführt wird. Nachdem die Seite beim Klienten ist, kannst du dort zwar parallel zu JavaScript VB-Scripts machen, gehn aber nur unter IE und daher musst du z.B. logout.asp aufrufen, wo der VB-Script den Besucher dann auslogt

    bennji

    --
    Soy el pequeño benji :)
  2. Es geht dabei darum, dass in einer Datei "Test.asp" unten ein Logout-Link ist. Falls der User auf diesen klickt, muss ich eben VB-Code ausführen (nur eine Variable ändern) und zwar in der gleichen File.

    Weiss einer Rat?

    Also ohne Roundtrip wird es mit ASP nicht gehen, weil die Skripten ja am Server und nicht am Client laufen.
    Aber Du kannst die gleiche Seite mit einem QueryString laden:
    test.asp?logged=false
    im ASP kannst Du dann prüfen, ob der Querystring("logged")=="undefined" ist. Dann wir die Seite "normal" geladen.
    In Javascript, aber Du kannst das sicher schnell in VB umsetzen:
    <%
       var bLogged = ""+Request.Querystring("logged");
       if(blogged=="true") {
          Session("logged") = true;
       }
       else {
          Session("logged") = false;
       }
    %>

    Ohne Reload könntest Du nur mit Cookies arbeiten, und da weißt Du nicht, ob der User das auch zulässt.

    Wenn die Seite ansich schlank ist, kann man den Roundtrip zum Server sicher verkraften.

    Gruß,

    Stefan

    (PS: Ich warte selbst auf eine Antwort zu einem anderen Problem, deshalb habe ich hier geantwortet)

    1. In Javascript, aber Du kannst das sicher schnell in VB umsetzen:
      <%
         var bLogged = ""+Request.Querystring("logged");
         if(blogged=="true") {
            Session("logged") = true;
         }
         else {
            Session("logged") = false;
         }
      %>

      Ohne Reload könntest Du nur mit Cookies arbeiten, und da weißt Du nicht, ob der User das auch zulässt.

      Wenn die Seite ansich schlank ist, kann man den Roundtrip zum Server sicher verkraften.

      Gruß,

      Stefan

      (PS: Ich warte selbst auf eine Antwort zu einem anderen Problem, deshalb habe ich hier geantwortet)

      Geht natürlich noch eleganter mit:
      Session("logged") = (bLogged==true) ? true : false;

      1. Problem ist gelöst, danke.