Postback und Page_Load

colblake

Erfahrenes Mitglied
Hi,

(VS.NET mit VB uns WIN2000-Server)

ich habe ein Form (TextBox) welches in der Page_Load mit default-Daten gefüllt wird. Der Benutzer gibt dann andere Daten ein und kann diese mittels eines Button speichern.

Problem:
Button führen ein Postback aus, dh. die Page_Load wird erneut ausgeführt und die Daten wieder mit default überschrieben, bevor sie gespeichert werden.

Bisher habe ich das mit einer boolean sessionvariable gelöst:

Code:
 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

'IsFirstInit wird von der aufrufenden Seite auf true gesetzt

If  NOT CBool(HttpContext.Current.Session("IsFirstInit")) Then Return
HttpContext.Current.Session("IsFirstInit")=false

TextBox.Text="default"

End Sub

Frage:
Das erscheint mir aber etwas unsauber. :suspekt:
Gibt es eine bessere Lösung dafür?
(zb Button die kein Postback(und damit die Page_Load) auslösen aber eine Callbackfunkion haben)

Mfg Col.Blake
 
Hi Blake,

versuch es mal hiermit (der Klassiker :) ) :

Code:
private void Page_Load(object sender, System.EventArgs e)
{
  if(Page.IsPostBack == false){
    FillInDefaultValues();
  }
}

(Code ist C#...aber eine Umsetzung sollte leicht möglich sein...)

Dann wird nur beim ersten Laden der Seite die Methode FillInDefaultValues() ausgeführt, nicht jedoch beim PostBack.

Gruß

Alex
 
Zuletzt bearbeitet:
*Hand an die Stirn klatsch * na klar !
Das hab ich gesucht.
Danke für deine schnelle Hilfe Alex, hab mir schon gedacht das es da ne einfachere Lösung gibt, und ich zu doof bin drauf zu kommen .

Mfg Col.Blake
 

Neue Beiträge

Zurück