SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Webpart Controls hinzufügen/entfernen innerhalb eines OnClick-Events

Unbeantwortet Dieser Beitrag hat 2 Antworten

Ohne Rang
1 Beiträge
langerw erstellt 16 Juni 2009 13:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

 

innerhalb meines Webparts habe ich einen Button mit einem OnClick event. Dieser Funktioniert auch solange ich innerhalb der Events-Methode keine Controls entferne.

Meine click-Methode sieht ungefähr so aus:

 

public void button1_click(Object sender, EventArgs args){

....

this.Controls.Remove(control1);

this.Controls.Add(control2);

}

 

Wenn ich die Controls verändere funktionieren nach den ersten Aufruf der Event-Methode das Event nicht mehr. Beim 3ten betätigen des Buttons funktioniert die Event-Methode wieder.

( beim 2ten Click wurden die Controls nicht verändert und somit konnten die Event-methoden wieder richtig gefunden werden)

 

  Also:

1.stes mal Klicken Event-Methode wird aufgerufen

2.tes mal Klicken Event-Methode wird nicht aufgerufen.

3.tes mal Event-Methode wird aufgerufen

.... u.s.w.

 

Anscheinend mache ich da vom Ablauf her etwas Falsch.

Kann mir da Jemand weiterhelfen?

 

Danke im Voraus.

 

Gruß Erwin

Alle Antworten

Ohne Rang
929 Beiträge
Thomas Östreich Als Antwort am 16 Juni 2009 13:42
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Füge deine Controls in CreateChildControls hinzu (override).

Und Prüfen in OnLoad ob es sich um ein PostBack handelt wenn es keiner ist ist es die erste Initialisierung und du musst deine Controls (visible) auf true bzw false setzen. Jeder folgende Aufruf mit PostBack = true bedeute du musst die eigenschaft nicht setzen da diese im Userstate der Controls gespeichert ist.

Schau dir mal die Eventabarbeitung auf MSDN zu ASP.Net an leider keinen Link zur Hand.

Gruß Thomas

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 16 Juni 2009 13:57
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ergänzend noch zu Thomas' Antwort: Du kannst natürlich auch im Button-Click-Eventhandler die Visible-Eigenschaft von irgendwelchen Controls ändern. Entfernen oder Hinzufügen solltest Du aber keine.

Google-Tip: asp.net page lifecycle

Viele Grüße
Andi
af @ evocom de
Blog