Announcement

Collapse
No announcement yet.

Ein- und Ausblenden eines DIV mittels C#

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ein- und Ausblenden eines DIV mittels C#

    Hallo an alle.
    Ich habe vor, einen DIV Bereich ein und aus zu blenden.
    In diesem DIV befindet sich eine Treeview und der User soll entscheiden ob er sie sehen will oder nicht.
    Mein Script funktioniert auch soweit und sieht so aus:

    [highlight=c#]
    protected void HiddenButton_Click(object sender, EventArgs e)
    {
    if (global_sitemap.Style.Value == null | global_sitemap.Style.Value == "width:Auto")
    {
    global_sitemap.Style.Value = "width:18px";
    VarStyle = global_sitemap.Style.Value;
    } else
    if (global_sitemap.Style.Value == "width:18px")
    {
    global_sitemap.Style.Value = "width:Auto";
    VarStyle = global_sitemap.Style.Value;
    }
    }
    [/highlight]

    Nun habe ich aber folgendes Problem:
    Der User soll auch mittels zweier anderer Buttons das Treeview vor und zurück navigieren (diese Funktion ist schon fertig).
    Wenn ich nun das Treeview ausgeblendet habe und ein Kapitel nach vorn klicke, ist die Treeview wieder eingeblendet.

    Mir ist klar warum, er läd ja die Seite neu auf. Wie kann ich aber den Wert in der Variablen behalten, damit ich beim Navigieren den DIV Bereich weiterhin nicht sehe?

    Klar, ich kann das mit Java Script machen, aber ich will dem User, der Java Script deaktiviert nicht nutzen darf, trotzdem alle Funktionen nutzen kann.

    Gruß
    Daniel
    Zuletzt editiert von gfoidl; 23.10.2009, 20:46. Reason: C#-Tags hinzugefügt da das ja so schwierig ist. Programmieren aber nicht mal Tags setzen können ....

  • #2
    Parameter in der Session speichern oder per URL-Rewriting mitgeben
    Christian

    Comment


    • #3
      Ne, ich glaube ich habe hier das Problem

      Wenn ich den Button Treeview eins vor gehe dann steht drin bei mir

      SiteMapNode child = node.ChildNodes[0];
      Response.Redirect(child.Url);

      Dieses Response knallt mir alles raus, die Werte bleiben ja erhalten.
      Kann ich was anderes nehmen als das Response.Redirect(child.Url);

      Comment


      • #4
        User, der Java Script deaktiviert nicht nutzen darf,
        Dann dürfte das Auf-/Zuklappen des TreeView auch nicht funktionieren...

        Ev. wäre AJAX eine Ergänzung. Das geht mit ASP.net ganz leicht.

        mfG Gü
        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

        Comment


        • #5
          Hmmm
          funktionieren tut es ja
          Man kann das auch mit anderen Programmiersprachen machen.
          JavaScript wird nur gern genommen, weil viele Module vorhanden sind und man schneller zum Ziel kommt.

          Comment


          • #6
            Ich bin von der Folgerung Website + C# => ASP.net => TreeView von ASP.net ausgegangen. Und dieses TreeView verwendet JavaScript.


            mfG Gü
            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

            Comment


            • #7
              Da würde mich mal interessieren, welche Techniken ASP benutzt um Benutzereingaben (hier Treeview soll nach Wunsch des Nutzers sichtbar sein oder nicht) anwendet, um diese über einen Request zu retten?
              Christian

              Comment


              • #8
                Ich bin jetzt kein ASP.net-Experte aber es gibt da den ViewState. D.h. über ein HiddenField werden die codierten Zustandsinfos der UI-Elemente transportiert.


                mfG Gü
                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                Comment


                • #9
                  Hmmm da fragst du aber den Falschen
                  Arbeite eigentlich mit PHP ich mache das nur für ein Schulprojekt, daher habe ich nicht so viel Zeit und Erfahrung.

                  Ich habe in der Masterpage ja die Treeview. Im Code behind den Button programmiert, beispiel

                  SiteMapNode node = SiteMap.CurrentNode;
                  // ChildNodes count and jump to the first one
                  if (node != null && node.ChildNodes.Count > 0)
                  {
                  SiteMapNode child = node.ChildNodes[0];
                  Response.Redirect(child.Url);
                  }
                  Soweit funktioniert das auch. Ich schicke dann an die Inhaltsseite über Response.Redirect den Wert "URL" den ich brauche.
                  Die Inhaltsseite läd neu und leider auch die Masterpage
                  Zuletzt editiert von DerSpanier; 23.10.2009, 21:37.

                  Comment


                  • #10
                    Hallo Der Spanier,

                    ist es so schwer den Code formatiert darzustellen? Ich meine nur dass es dann leichter lesbar ist und dies unterstützt bei der Problemlösung ungemein.

                    Wie das geht ist in http://entwickler-forum.de/showthread.php?t=51872 beschrieben.


                    mfG Gü
                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                    Comment


                    • #11
                      Ich habe die Lösung.

                      Ich speicher den Zustandswert ausserhalb der Funktion statisch (VarStyle).
                      Dann füge ich den Wert hier ein

                      protected void Page_Load(object sender, EventArgs e)
                      {
                      global_sitemap.Style.Value= VarStyle;
                      }

                      Beim Aufrufen wird ja die Schleife vorher durchlaufen
                      Zuletzt editiert von DerSpanier; 24.10.2009, 10:45.

                      Comment


                      • #12
                        Hallo DerSpanier,

                        ich zweifle an deiner Intelligenz. Warum hab ich dir in der vorigen Antwort wohl den Link gegeben? Richtig - damit du siehst wie Code formatiert werden soll. Warum wird der dann mit Türkis auf Weiß dargestellt? Schaust du dir überhaupt an wie dein Post ausschaut.

                        Ich wiederhole mich gerne: Programmieren wollen aber nicht mal Tags anhand einer Vorlage setzen können!

                        Bitte ändere dies wies im Link gezeigt wird.


                        mfG Gü
                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                        Comment

                        Working...
                        X