رویدادهایی که هنگام فراخوانی یک صفحه ASP.NET VB.Net روی می دهند

هنگامی که یک صفحه ASP.NET فراخوانی شود مجموعه رویدادهای زیر به ترتیب رخ می دهند:

• Init: اولین رویدادی که هنگام فراخوانی صفحه انجام می گردد.
• Load: این رویداد قبل از همه رویدادهای مربوط به کنترل های موجود درون صفحه رخ می دهد.
• PreRender: این رویداد بعد از همه رویدادهای مربوط به کنترل های موجود درون صفحه رخ می دهد.
• Unload: هنگامی که صفحه از حافظه تخلیه می گردد این رویداد رخ می دهد.
• Disposed: این رویداد بعد از آزاد سازی حافظه از صفحه روی می دهد.

جهت رسیدگی به این رویدادها می توان برای هر یک، روال مجزائی نوشت. بعنوان مثال روال رسیدگی کننده به رویداد Load می تواند مانند زیر باشد:

<Script Runat="Server">

Sub Page_Load
   ' Place any code that you want to execute here
End Sub
</Script>

توجه داشته باشید که شما با ایجاد روالی بنام Page_Load می توانید به رویداد Load مربوط به یک صفحه رسیدگی کنید. بعبارت دیگر جهت رسیدگی به رویدادهای Disposed ،Unload ،PreRender ،Load ،Init باید از روال هایی با نامهای Page_Unload ،Page_PreRender ،Page_Load ،Page_Init و Page_Disposed استفاده نمود.

معمولا مفیدترین رویداد یک صفحه رویداد Load می باشد. بعبارت دیگر از این رویداد جهت مقداردهی به کنترل های موجود درون صفحه استفاده می گردد. برای مثال، مقداردهی یک برچسب یا مقداردهی یک کنترل DataGrid با داده های یک بانک اطلاعاتی در این رویداد انجام می شود.

مهمترین تفاوت میان رویدادهای Load و PreRender این است که رویداد Load قبل از همه رویدادهای مربوط به کنترل های درون صفحه انجام می شود. جهت روشن شدن مطلب به مثال زیر توجه فرمائید. این صفحه دارای سه رویداد Button_Click ،Page_Load و Page_PreRender می باشد. اگر بر روی دکمه موجود کلیک شود ابتدا روال Page_Load، بعد روال Button_Click و در نهایت روال Page_PreRender اجرا می گردد.

<Script Runat="Server">

Sub Page_Load
   Response.Write( "<li> Page_Load" )
End Sub

Sub Button_Click( s As Object, e As EventArgs )
   Response.Write( "<li> Button_Click" )
End Sub

Sub Page_PreRender
   Response.Write( "<li> Page_PreRender" )
End Sub

</Script>

<html>
<head><title>EventOrder.aspx</title></head>
<body>

<form runat="Server">

<asp:Button
   Text="Click Here!"
   OnClick="Button_Click"
   Runat="Server" />

</form>

</body>
</html>