Virus149 Geschrieben 24. August 2011 Geschrieben 24. August 2011 Hallo zusammen, mein Problem dreht sich rund um Buttons in ASP. Nach mehreren Tagen Verzweiflung und einer Mischung aus Wut und Ratlosigkeit frage ich nun hier um Hilfe. Mein Problem ist folgendes: Ich habe auf einer Seite 5 Dropdown-Menüs welche von einem 6. (Name: cbxSelectAll) per Buttons gefüllt werden. Nun möchte ich aber nicht mit jedem Button (übrigens momentan alles Submit-Buttons) jedes Dropdown-Feld füllen können. Heißt ich bräuchte eine Art onClick() Funktion in welcher ich meine Aktion ausführen kann. Mir würde auch etwas wie "If Button.clicked = True" reichen. Egal was, hauptsache es klappt. Im vorraus noch eine wichtige Info: die Lösung darf nicht mit Javascript erfolgen. <!-- BEGINN Zeile Dropdown 1 --> <tr> <td>Dropdown 1:</td> <td> <select name="cbxDropdown1" id="cbx"> <option selected></option> </select> <input type="submit" name="btnDelItemDropdown1" value="-"> <input type="submit" name="btnAdditemDropdown1" value="<<"> </td> <td rowspan="5"> <select name="cbxSelectAll" id="cbx" size="7" multiple> <% 'öffne Datenbankverbindung Call OpenDatabaseConnection() 'lese Daten aus der Datenbank Call ReadAll() 'schließe Verbindung Call CloseDatabaseConnection() %> </select> <input type="submit" name="addAll" value="+"> </td> </tr> <!-- ENDE Zeile Dropdown1 --> <!-- BEGINN Zeile Dropdown2 --> <tr> <td>Dropdown 2:</td> <td> <select name="cbxDropdown2" id="cbx"> <option selected></option> </select> <input type="submit" name="btnDelItemDropdown2" value="-"> <input type="submit" name="btnAdditemDropdown2" value="<<"> </td> </tr> <!-- ENDE Zeile Dropdown2 --> <!-- BEGINN Zeile Dropdown3 --> <tr> <td>Dropdown 3:</td> <td> <select name="cbxDropdown3" id="cbx"> <option selected></option> </select> <input type="submit" name="btnDelItemDropdown3" value="-"> <input type="submit" name="btnAdditemDropdown3" value="<<"> </td> </tr> <!-- ENDE Zeile Dropdown3 --> <!-- BEGINN Zeile Dropdown4 --> <tr> <td>Dropdown 4:</td> <td> <select name="cbxDropdown4" id="cbx"> <option selected></option> </select> <input type="submit" name="btnDelItemDropdown4" value="-"> <input type="submit" name="btnAdditemDropdown4" value="<<"> </td> </tr> <!-- ENDE Zeile Dropdown4 --> <!-- BEGINN Zeile Dropdown5 --> <tr> <td>Dropdown 5:</td> <td> <select name="cbxDropdown5" id="cbx"> <option selected></option> </select> <input type="submit" name="btnDelItemDropdown5" value="-"> <input type="submit" name="btnAdditemDropdown5" value="<<"> </td> </tr> <!-- ENDE Zeile Dropdown5 --> Nun bin ich gespannt ob mir jemand die totale Erleuchtung geben kann. Tschüssi Virus Zitieren
lupo49 Geschrieben 24. August 2011 Geschrieben 24. August 2011 Den Buttons fehlt doch noch der Funktionsname für den OnClick-Parameter? Die Methode, die du dann dafür definierst, hat standardmäßig (zumindest bei C#) u. a. den Parameter "Object sender". Darüber könntest du dann den Button identifizieren, der gedrückt wurde. Zitieren
Virus149 Geschrieben 24. August 2011 Autor Geschrieben 24. August 2011 Hallo lupo49, Den Buttons fehlt doch noch der Funktionsname für den OnClick-Parameter?Nein, der Parameter fehlt nicht. Weil... die Lösung darf nicht mit Javascript erfolgen. ... zumindest bei C# ... Ich habe doch nicht ohne Grund das Forum von ASP gewählt ... Danke dir aber trotzdem für die Hilfe. Tschüssi Virus Zitieren
Virus149 Geschrieben 24. August 2011 Autor Geschrieben 24. August 2011 Durch eine LKW-Ladung Hirnschmalz und wertvolle Tipps von einem Arbeitskollegen habe ich die Lösung nun gefunden. Lösen lässt es sich wie folgt: Jeder Button besitzt einen Value, sofern es gesetzt wurde. Solang ein Button nicht gedrückt wurde ist also auch kein Value im Request.Form( "Button" ). Sobald aber ein Button gedrückt wurde wird der Value übergeben. Nun ist nur ein einziger Value auf der gesamten Seite gesetzt (klar, man kann schlecht 2 Buttons gleichzeitig drücken ). Für diese Lösung nutze ich folgenden Code (aufbauend auf meinen 1. Beitrag): <% 'prüfen welcher Button gedrückt wurde If btnDelItemDropdown1 <> "" Then 'Aktion für Button btnDelItemDropdown1 ElseIf btnAddItemDropdown1 <> "" Then 'Aktion für Button btnAddItemDropdown1 ElseIf btnDelItemDropdown2 <> "" Then 'Aktion für Button btnDelItemDropdown2 ElseIf btnAddItemDropdown2 <> "" Then 'Aktion für Button btnAddItemDropdown2 ElseIf btnDelItemDropdown3 <> "" Then 'Aktion für Button btnDelItemDropdown3 ElseIf btnAddItemDropdown3 <> "" Then 'Aktion für Button btnAddItemDropdown3 ElseIf btnDelItemDropdown4 <> "" Then 'Aktion für Button btnDelItemDropdown4 ElseIf btnAddItemDropdown4 <> "" Then 'Aktion für Button btnAddItemDropdown4 ElseIf btnDelItemDropdown5 <> "" Then 'Aktion für Button btnDelItemDropdown5 ElseIf btnAddItemDropdown5 <> "" Then 'Aktion für Button btnAddItemDropdown5 End If %> Diese ist die mir zur Zeit als einzig bekannte Methode jeden einzelnen Button auf einer Seite direkt anzusteuern. Damit ist meine Frage erledigt, der Thread kann bei Bedarf geschlossen werden. Tschüssi Virus Zitieren
lupo49 Geschrieben 24. August 2011 Geschrieben 24. August 2011 Onclick ist für eine serverseitige Funktion während OnClientClick für eine Funktion im Javascript definiert ist. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.