2008-12-17 12 views
8

Ich habe eine ASP.NET-Webseite mit einer Tonne Code, der im Page-Load-Ereignis der Seite behandelt wird. Ich habe auch eine Dropdown-Box auf der Seite, die die Seite mit einem neuen Wert neu laden sollte, aber ich möchte diesen neuen Wert erhalten, bevor ich den gesamten Page-Load-Code verarbeiten. Ich versuche, den ASP.NET-Seitenlebenszyklus zu verstehen.Handle-Ereignis vor Page_Load

Sollte ich den Page-Load-Code in ein späteres Ereignis verschieben oder gibt es eine Möglichkeit, den Wert des Dropdown-Listenwerts abzurufen, bevor das Page-Load-Ereignis beginnt?

TIA

Antwort

10

Ich würde Page_PreLoad anstelle von Page_Init verwenden, da es ausgelöst wird, nachdem alle Postback-Daten verarbeitet wurden.

+0

Ich habe mehr Glück mit PreLoad als Init. Ich kann nicht scheinen, den SelectedValue des ddl während Init zu bekommen, aber ich kann mit preLoad. – zkent

2

Try Page_Init

+0

Sie sagen, ich kann den Wert einer Dropdown-Box in der page_init bekommen? – zkent

+0

Die Antwort ist mehr als das offensichtlich, aber das sollte Sie in die richtige Richtung weisen. Wenn Sie viel mit Webforms arbeiten, sollten Sie sich mit dem Seitenlebenszyklus vertraut machen. Vielleicht hilft das: http://john-sheehan.com/blog/net-cheat-sheets –

+0

Ja, Sie können den ausgewählten Wert in Page_Init abrufen. Sie möchten es wirklich in einem Event außerhalb von Init/Load abrufen (wie ein Klick auf die Schaltfläche usw.). –

0

Wie bereits erwähnt, ist Page_Init was Sie wollen. Aber ich emplore dich, deine Seiten so locker wie möglich zu koppeln. Schauen Sie in das MVP-Muster für Starter. Stellen Sie außerdem sicher, dass sich die meisten Ihrer Logik in Ihren Domänenobjekten befinden.

Im Ereignis Page_Load sollte nicht zu viel Code vorhanden sein. Wenn ja, sollte es in übersichtliche Methoden aufgeteilt werden, damit Sie keinen verrückten Code haben.

+0

Ich habe diesen Code geerbt und ich habe es immens umgestaltet, um den Code in Klassen und Methoden zu verschieben. Ich möchte jedoch immer noch den Wert vor lesen page_load – zkent

Verwandte Themen