2009-05-06 20 views
1

HI alle, ich habe das folgende Problem, das mich wirklich verrückt macht.Asp.net Datenbabys verliert nach Postback

Nachdem ich jede Art von Postbacks ausführen, haben mehrere Kontrollen sich nicht erneut binden, zum Beispiel

Details mit einem daran befestigten Object (in meinem Fall ObjectContainerDataSource) Loginview ist nicht die LoggedInTemplate zeigt aber Login mir zeigt wie angemeldet in.

Ich bin fast verzweifelt und ich möchte wissen, ob Sie das gleiche Problem oder ähnliches in der Vergangenheit hatten und mir einen Hinweis geben können.

Vielen Dank im Voraus

Antwort

1

ohne Ihre tatsächlichen Code zu sehen, würde ich vorschlagen, Sie sehen EnableViewState Einstellungen für die Seite und für die einzelnen Kontrollen.

Dies ist ein guter Artikel auf managing viewstate.

Sie auch nur das erste Mal, würde für Code in einem Abschnitt wie dies in Ihrem page_load()

if(!IsPostback) 
{ 
    // code to bind some of your controls 
} 

Dieser Code aussehen sollten Sie die Seite, aber nicht in den Postbacks eingeben genannt. Wenn Sie die Seite verlassen und zurückkommen, wird der Bind-Code erneut ausgeführt.

0

Findet Ihre Datenbank im Ereignis page_load statt? Wenn nicht, binden Sie erneut, wenn die Seite neu geladen wird?

Sind Ihre Steuerelemente dynamisch geladen?

+0

-1 für was ?? Neugierig, wer das -ve abgegeben hat und es geschafft hat, keinen Kommentar abzugeben. (+1 von mir) – Prash

2

Wenn die Bindung in der Page_Load-Methode durchgeführt wird, stellen Sie sicher, dass es innerhalb der Post-Back-Loop ist.

if (!IsPostBack) 
    { 
     //Your code to bind data 
    } 

Nach jedem Postback wird das Seitenladeereignis ausgelöst. Wenn also die Steuerelemente nicht innerhalb der oben angegebenen Schleife gebunden werden, findet die Bindung jedes Mal statt, wenn das Postback auftritt.