Announcement

Collapse
No announcement yet.

wie kann ich web-forms schließen

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

  • wie kann ich web-forms schließen

    Hallo zusammen,

    kann mir jemand helfen wie ich unter asp.net ein Webform schließe? this.close oder so etwas gibt es nicht. Ich habe einen Button der eine Methode aufruft und zusätzlich das Fenster schließen soll. Diese Methode wird aber nicht immer ausgeführt wenn ich im A-TAG noch onclick=top.close() stehen habe. Dann wird bei jedem 2ten Click das Fenster nur geschlossen und nichts mehr ausgeführt.

    Danke für Eure Hilfe

  • #2
    kannst du nicht eine javascriptfunktion, die beides kapselt, aufrufen, also die erst die methode ausführt und dann top.close() macht?

    steffe

    Comment


    • #3
      hmm, das eine ist aber C# in einer Behinddatei und das ander eben Javascript. Wüsste jetzt nicht wie ich von Javascript die Methode aus der Behinddatei aufrufen soll. Stehe da irgendwie neben mir

      Comment


      • #4
        hm..na wenn das ein klassischer linkbutton sein soll, dann kannst du doch im codebehind im button_click(..) ereignis deine methode ausführen lassen und dann ein javascript ausgeben, was das top.close() macht.

        steffe

        Comment


        • #5
          In der Codebehinddatei kannst du ganz einfach JavaScript ausführen.
          Schau dir mal this.Page.RegisterStartupScript()
          an.
          Dieser Methode übergibst du einen String, der das JavaScript beinhaltet.
          Diese JavaScript wird dann nach dem Postback(Klick auf den Linkbutton) ausgeführt.
          Davor kannst du natürlich noch deine ASP.Net Logik ablaufen lassen.

          MfG

          André

          http://www.dotnetfriends.de - Das Forum für ASP.Net,C# und VB.NE

          Comment


          • #6
            Hallo Andre,

            ich habe ein ähnliches Problem.
            Wie ist denn das: mit RegisterStartupScript
            wird ein Script an die Anfang der Seite gestellt. Angesprochen werden kann es doch aber nur per Funktionsaufruf.

            Wie sieht dass denn rein praktisch aus?
            Was muss wohin, damit ich zB in einem ASP.net Event Javascript aufrufen kann?

            Vielen Dank für die Info

            Pete

            Comment


            • #7
              hallo peter,

              ich kopiere dir mal was rein, was ich gestern gerade gemacht habe...

              <pre>
              System.Text.StringBuilder sb = new System.Text.StringBuilder();
              sb.Append("&lt;script language=\"JavaScript\"&gt;\n");
              sb.Append(this.UniqueID + " = window.open(\"" + Page.Response.ApplyAppPathModifier(_NavigateURL) + "?ref=" + this.UniqueID + "\", \"" + this.UniqueID + "\", \"width=" + this.Width + ",height=" + this.Height + ",scrollbars\");\n");
              sb.Append(this.UniqueID + ".focus();\n");
              sb.Append("&lt;/script&gt;\n");
              if(!Page.IsStartupScriptRegistered(this.UniqueID))
              Page.RegisterStartupScript(this.UniqueID, sb.ToString());
              </pre>

              das asp.net führt das javascript nicht aus, sondern schreibt es nur in die html-seite mit rein...sodass das script dann vom browser verarbeitet wird...

              steffe

              Comment


              • #8
                Hallo steffen,

                probiere ich gerade aus, funktioniert aber nicht.

                Könntest Du mir nicht, falls Du das ganze auch in einer "If" Klausel hast, den Codeschnipsel noch zeigen?

                Vielen Dank,
                Pete

                Comment


                • #9
                  Vielen Dank für die Hilfe, habe meinen Fehler gefunden (Funktionsname!).

                  Pete

                  Comment


                  • #10
                    sorry, hab die antwort zu spät gelesen!

                    aber gut, wenn's läuft...

                    bei Page.IsStartupScriptRegistered(this.UniqueID) und Page.RegisterStartupScript(this.UniqueID, sb.ToString()) kannst du statt this.UniqueID einfach einen namen eingeben für dein script - z.b. Page.IsStartupScriptRegistered("mein_erstes_script ")....

                    die bezeichnung sollte nur einmalig sein auf der seite...

                    steffe

                    Comment

                    Working...
                    X