Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hi zusammen,

aus irgendweinem grund reagiert ein Button den ich mir in einem Webform Hinzufüge nur bei dem 2. Click(1;3;5;...).

Hier mal der Quelltext


System.Web.UI.WebControls.Button button = new Button();

					button.Text= "Speichern";

					button.Click+=new EventHandler(this.ButtonClick);

					td= new TableCell();

					td.Controls.Add(button);

					tr= new TableRow();

					tr.Cells.Add(td);

					tr.CssClass="antworten";

					this.Rows.Add(tr);

Der Event ist in der Selben KLasse Definiert

public void ButtonClick(object sender, EventArgs e)

{

...

}

Woran kann das liegen?

Falls jemand nen Tip hat ich bin für alles Dankbar, den sowohl board als auch Google suche haben nicht geholfen

Achja Frameworkversion 1.1...

Hi Sorry hab wohl vergessen zu schreiben das der Button Dynamisch eingebaut wird.

Daher kann ich ihn nicht einfach rauswerfen und wieder reinsetzen.

Wann bindest du denn den event an?

Also in welchem Page Event. Du musst da eine gewisse Reinfolge einhalten damit im ProcessPostBack der Event schon angebunden ist, und somit der Click verarbeitet werden kann.

Must dir sonst eifach mal die Verarbeitungs Reinfolge der ASP.Net page anschauen.

naja die ganzen Komponenten werden beim page_load des Webforms in die seite geladen.

also von der Groben beschreibung sieht das so aus

private void Page_Load(object sender, System.EventArgs e)

{

this.Controls.Add(new ClassX(a,b,c))

}

und die genante Classx erzeugt im Konstruktor eine Tabelle in der die Komponenten stehen und Initialisiert werden.

Aber das ist nur ein Grober abriss den den gesamten code werde ich hier wohl nciht posten können bzw. dürfen aber es sind ca. 5000 zeilen in einer Klassen Bibliothek und 5 aspxdateien mit jeweils ca 500 Zeilen Initialiesierungen und Klassen aufrufen

He cool schon mal Danke für den Tip so wie es aussieht liegt es nicht unbedingt amButton sondern an einer TextBox den er bekommt nur dann kein button Click bzw. nur beim 2. CLick wenn ich die Textbox lehre und dann den Button Betätige

Also wenn du deine Controls erst im PageLoad erstelltst ist es viel zu spät. Denn das PageLoad ist das erste der abgearbeiteten events.

Versuch es mal im Init / PreInit, msdn: ASP.NET Page Life Cycle

Hi Trux,

erst mal thx für den Tipp das Problem ist dadurch zwar nicht gelöst aber es hat mich der lösung ein stück näher gebracht.

Aus irgend einem grund muss ich in der Textbox die ich beim Button Click anspreche einen wert stehen haben. Den solange ein wert in der TB steht bzw. dieser verändert wurde wird der Button Click event ausgelöst. Wenn ich jedoch nichts geändert habe oder die TB gelehrt habe wird der event nicht ausgelöst bzw. erst beim 2. button Click.

hast du bei der text-box das auto-postback aktiviert?

jup hatte ich schon hat leider nix gebracht bzw. das verhalten hat sich geändert aber der effekt war eigentlich der selbe

Sorry die unten stehende idee war mist so führt er gar keinen event mehr aus.

Mir ist gerade eine Idee gekommen. Gibt es einen Event der Abschließend nac h allen anderen Events aufgerufen wird. Den ich denke das Problem liegt daran das immer zu erst die seite aufgebaut wird und erst dann eventuell der Click Event. Aus irgend einem Grund verliere ich manchmal die information das ein Button Click ausgeführt wurde.

Also hast du das jetzt mal versucht den Button im Init / PreInit zu erstellen, der ControlCollection hinzuzufügen als auch den Event anzubinden.

Ich meine das es einfach nur ein timing problem ist...

Jup hatte im Init alle Komponenten eingebunden und Trotzdem Tratt das Problem auf. Mir kommt es halt so vor als ob der Button Click event gelegentlich bzw. unter bestimmten vorrausetzungen verloren geht.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.