Announcement

Collapse
No announcement yet.

Prozedur nur bei Klick auf Button ausführen

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

  • Prozedur nur bei Klick auf Button ausführen

    Hallo,
    ich bin noch nicht so erfahren in der Programmierung mit ASP.NET und ich denke auch mein Problem ist nicht besonders schwierig, allerdings komme ich nicht darauf, wie ich es lösen kann.

    Ich habe einen Button, welcher bestimmte Einträge auf meiner Seite löschen soll (bzw. das Beste wäre, wenn die Seite éinfach neu geladen wird).

    Wenn der Button betätigt wird, soll die Prozedur ausgeführt werden. Allerdings führt mein Programm die Prozedur jedes Mal aus, wenn ich irgendeine Veränderung auf meiner Seite vornehme.

    Wie kann ich einstellen, dass die Prozedur wirklich nur ausgeführt werden soll, wenn ich den Button betätige und sonst nicht.

    Danke für eure Hilfe.

    mfg
    stash

  • #2
    hallo,
    vermutlich hast du den Prozeduraufruf in pageload stehen. Geh in die Designansicht und klicke auf den Button. Dann wird autoamtisch ein Code erstellt der Buttonname on Click heißt. Dort fügst du den Code ein für den Prozeduraufruf.

    Comment


    • #3
      hallo,
      danke für die antwort. meine prozedur steht allerdings bereits unter dem .Click Ereignis des Buttons. Das habe ich berücksichtigt. Nichtsdestotrotz wird bei jeder Änderung im Programm auch diese Prozedur durchlaufen.

      Wie kann ich das vermeiden?

      mfg
      stash

      Comment


      • #4
        Auch hallo,
        wenn ich den Button betätige und sonst nicht.
        So ganz ohne Quellcode könnte man ein analoges Beispiel betrachten: Beispiel mit C# und Button
        MfG
        Cheat-Sheets for Developers / Programming Quotes

        Comment


        • #5
          danke für das beispiel. allerdings wird ja bei deinem codebeispiel eine javascript prozedur aufgerufen, bei mir wird dann in asp.net alles gemacht.

          hier mein code (ausschnitt)

          das steht im Markup nach Hinzufügen des Buttons.

          [highlight=vbnet]

          <td class="style3">
          <asp:Button ID="button_search_clear" runat="server"
          Text="Suchkriterien löschen" Width="138px" />
          </td>

          [/highlight]


          und das ist dann mein asp.net code mit Verweis darauf, dass nur bei Klick das ausgeführt werden soll.

          [highlight=vbnet]

          Protected Sub button_search_clear_Click(ByVal sender As Object, ByVal e As EventArgs) Handles button_search_clear.Click

          'text_name.Text = ""
          'dropdown1.Text = ""

          End Sub

          [/highlight]

          Comment


          • #6
            Ich weiss nicht ob sich das Click Handler so deklarieren lässt. Versuche doch mal das:

            [highlight=vbnet]
            <asp:Button ID="button_search_clear" runat="server"
            Text="Suchkriterien löschen" Width="138px" OnClick="button_search_clear_Click" />
            [/highlight]

            Comment


            • #7
              hi,
              danke für die antwort. das habe ich zwischenzeitlich auch mal versucht, hat aber nichts gebracht.

              es ist ja auch nicht so, dass die Prozedur nicht ausgeführt wird, wenn ich auf den Button drücke. Das blöde ist halt nur, dass die Prozedur jedes Mal ausgeführt wird, unabhängig davon ob ich auf den Button drücke, oder nur ein Inhalt von einem Textfeld aktualisiert wird.

              Bitte um Hilfe.

              mfg
              stash

              Comment


              • #8
                Originally posted by Stash View Post

                [highlight=vbnet]

                <td class="style3">
                <asp:Button ID="button_search_clear" runat="server"
                Text="Suchkriterien löschen" Width="138px" />
                </td>

                [/highlight]
                sorry dass ich mich einmische,

                und wo ist in deinem Markup OnClick Server Ereignis ???
                [highlight=vbnet]
                <asp:Button OnClick="button_search_clear_Click"
                ID="button_search_clear" runat="server"
                Text="Suchkriterien löschen" Width="138px" />
                [/highlight]

                und schau mal was zeigt

                [highlight=vbnet]

                Protected Sub button_search_clear_Click(ByVal sender As Object, ByVal e As EventArgs) Handles button_search_clear.Click

                String s = sender.ToString()

                End Sub

                [/highlight]


                dann findest du, wer hat das Ereignis erzeugt.
                Zuletzt editiert von vadym voytas; 11.11.2009, 01:09.
                Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

                Comment


                • #9
                  hallo,

                  im asp.net code ist mein onclick handler untergebracht, im markup hat das ja nichts gebracht (den tip von fanderlf hab ich ja ausprobiert).

                  den sender habe ich mir im debugger mal angeschaut. der sieht so aus, als hätte ich auf den button geklickt.

                  das ist alles wirklich sehr merkwürdig und nervt auch langsam.

                  trotzdem vielen dank für die antworten.

                  mfg
                  stash

                  Comment


                  • #10
                    Was hast Du denn in der PageLoad Funktion drin stehen? Das ist die Funktion die bei jedem PostBack der Seite aufgerufen wird.
                    Was mir noch einfällt: Es gibt eine Möglichkeit einen Button standardmäßig drücken zu lassen, wenn jemand in Fenster auf die Enter Taste drückt. Das kanns nicht sein?

                    Comment


                    • #11
                      hallo,

                      ich weiß jetzt endlich warum. ich hab mir die eigenschaften meines buttons noch einmal genauer angesehen.

                      es gibit die eigenschaft "use submit behavior" (gibt an, ob die schaltfläche "senden" angezeigt wird). ich weiß zwar nicht, was das genau bedeuten soll, aber der standardwert war auf True. Ich hab ihn einfach mal auf False gesetzt und jetzt scheint es zu funktionieren.

                      Es gibt eine Möglichkeit einen Button standardmäßig drücken zu lassen, wenn jemand in Fenster auf die Enter Taste drückt.
                      heißt dieses "use submit behavior" das, was fanderlf vermutet hat?

                      vielen danke für die hilfe.

                      mfg
                      stash

                      Comment


                      • #12
                        Nein das ist nicht das gleiche...

                        Wenn "use submit behavior" auf false gesetzt ist wird der Sendemechanismus des Browsers unterdrückt. Mir sagt das allerdings leider auch nichts. Bin in Webentwicklung auch nicht so fit

                        Die Eigenschaft "Standardbutton" kann keine Eigenschaft eines Buttons sein, sondern das muss eine Eigenschaft der Seite sein. Auf einer Seite darf ja nur ein Button als Standardbutton definiert sein.

                        Näheres dazu

                        Comment


                        • #13
                          Könntest du bitte dein Markup und CodeBehind komplett posten ? (Damit man irgendwas vestehen kann)

                          Mit der Eigenschaft "use submit behavior" selektiert man ob das Button den Sendemechanismus des Clientbrowsers oder den Postbackmechanismus von ASP.NET verwendet.
                          Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

                          Comment

                          Working...
                          X