Ihr Codebeispiel ist nicht vollständig genug für eine Diagnose, aber ich werde eine Aufnahme machen.
An welcher Stelle des Seitenlebenszyklus fügen Sie die Schaltfläche der Seite hinzu? Wenn Sie es in PreRender tun, funktioniert es deshalb nicht. Sie sollten es während Init machen.
UPDATE:
Sie können nicht dynamisch eine Kontrolle nach der Init-Phase des Lebenszyklus Seite erstellen und bekommen es richtig funktioniert, wenn Sie es die gleiche Art und Weise jedes Mal erstellen. Dies liegt daran, dass der Lebenszyklus wie folgt aussieht:
Init -> Laden ViewState -> Seiten Laden -> Event Handler -> PreRender.
Sie erstellen eine Schaltfläche und geben ihr während der vorletzten Phase einen Ereignishandler. Dies bedeutet, dass die Schaltfläche niemals zum Speichern von ViewState mit der Seite registriert wird. Daher wird der gesamte Status für diese Schaltfläche nicht wiederhergestellt, wenn darauf geklickt wird. Dies bedeutet, dass der zugewiesene Ereignishandler sich in Luft auflöst und nie aufgerufen wird.
Mein Vorschlag wäre, die Schaltfläche Speichern normalerweise auf der Seite (nicht dynamisch) zu erstellen, und legen Sie es einfach sichtbar = "False". Klicken Sie dann im Click-Handler Ihrer ersten Schaltfläche einfach auf die Schaltfläche Speichern. Sichtbar = "Wahr".
Ich mache es auf Knopfdruck –
Sie erstellen eine weitere Schaltfläche auf Knopf klicken? –
ya im Erstellen einer anderen Schaltfläche auf der Schaltfläche klicken und das ist der Ereignishandler der neu erstellten Schaltfläche. –