The Artima Developer Community
Sponsored Link

.NET Buzz Forum
ASP.NET: Die PostBack-Falle

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
-

Posts: 1524
Nickname: nitronic
Registered: Jul, 2006

Norbert Eder works as a software architect.
ASP.NET: Die PostBack-Falle Posted: Jul 5, 2007 4:05 AM
Reply to this message Reply

This post originated from an RSS feed registered with .NET Buzz by -.
Original Post: ASP.NET: Die PostBack-Falle
Feed Title: Norbert Eder - Living .NET
Feed URL: http://feeds.feedburner.com/NorbertEder-Livingnet
Feed Description: Copyright (c)2005, 2006 by Norbert Eder
Latest .NET Buzz Posts
Latest .NET Buzz Posts by -
Latest Posts From Norbert Eder - Living .NET

Advertisement
Irgendwann tappt jeder in die PostBack-Falle. So ist es auch mir passiert und daher dieser kurze Eintrag zu diesem Thema. Der Beginn macht eine kurze Einführung.

Was ist ein PostBack


Unter einem PostBack versteht man das senden einer Seite zum Server unter Verwendung des HTTP-Vers Post. Die Eingaben der gesendeten Seite werden vom Server verarbeitet und eine neue Seite generiert. Die gesamte Seite wird neu geladen.

Konkretes Problem


Beim Laden einer Seite (vor allem wenn Werte zugewiesen werden) sollte daher abgefragt werden, ob es sich tatsächlich um ein PostBack handelt. Hier ein konkreter Fall:
protected void Page_Load(object sender, EventArgs e)
{
    FirstnameTextBox.Text = "Norbert";
    LastnameTextBox.Text = "Eder";
}

In diesem Fall wird ein PostBack nicht abgefragt. Nun werden beim Laden der Seite die vorhandenen Textfelder mit Werten befüllt. Werden diese verändert und wieder an den Server übertragen, werden die Änderungen beim neu Erstellen der Seite wieder überschrieben. Die geänderten Werte scheinen also am Client nicht mehr auf. Anders sieht dies aus, wenn die Wertezuweisung durch die Abfrage bezgl. eines PostBacks gesichert wird:
protected void Page_Load(object sender, EventArgs e)
{
    if (!this.IsPostBack)
    {
        FirstnameTextBox.Text = "Norbert";
        LastnameTextBox.Text = "Eder";
    }
}

In diesem Fall werden die Daten korrekt am Client angezeigt - nämlich die geänderten.

Zu guter Letzt möchte ich noch die unterschiedlichen Lebenszyklen einer Seite anführen, da sich diese durch ein PostBack verändern und darauf entsprechend Rücksicht genommen werden muss.

Lebenszyklen


Erster Aufruf
Die nachfolgenden Ereignisse bzw. Methoden werden beim initialen Aufruf einer Seite der Reihe nach abgearbeitet:

1. Init
2. Load
3. PreRender
4. SaveViewState
5. Render
6. Dispose
7. Unload

Bei einem PostBack
Bei einem PostBack erweitert sich der Lebenszyklus einer Seite geringfügig. Hier nun die neue Reihenfolge:

1. Init
2. LoadViewState
3. LoadPostData
4. Load
5. RaisePostDataChangedEvent
6. RaisePostBackEvent
7. PreRender
8. SaveViewState
9. Render
10. Dispose
11. UnLoad

Read: ASP.NET: Die PostBack-Falle

Topic: EXIF Informationen mit C# und Boardmitteln auslesen Previous Topic   Next Topic Topic: MVP Award 2007 - Kategorie Solutions Architect

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use