آموزش WebForm-مفهوم Event

چاپ

مدیریت رویداد، زیرروالی است که کدهایی را برای رویداد داده شده اجرا می نماید.


مدیریت رویداد ASP.NET

کدهای زیر را ملاحظه فرمایید:

<%
lbl1.Text="The date and time is " & now()
%>

<html>
<body>
<form runat="server">
<h3><asp:label id="lbl1" runat="server" /></h3>
</form>
</body>
</html>

چه موقع کد بالا اجرا می شود؟ جواب: "شما نمی دانید..."


رویداد Page_Load

رویدادPage_Load یکی از چندین رویدادی است که ASP.NET درک می کند. رویداد Page_Load هنگامی که صفحه بارگذاری می شود اجرا می گردد، و ASP.NET به طور خودکار زیر روال Page_Load را فراخوانی می کند، و کدهای داخل آن را اجرا می کند.

مثال (آموزش WebForm-مفهوم Event)

<script runat="server">
Sub Page_Load
lbl1.Text="The date and time is " & now()
End Sub
</script>

<html>
<body>
<form runat="server">
<h3><asp:label id="lbl1" runat="server" /></h3>
</form>
</body>
</html>

خروجی کد بالا:

The date and time is 1/18/2014 1:06:00 AM

نکته: داخل آرگومان های رویداد Page_Load به object یا آرگومان های رویداد ارجاعی وجود ندارد.


ویژگی Page.IsPostBack

زیرروال Page_Load هر بار كه صفحه بارگذاری می شود، اجرا می شود. اگر بخواهید کدداخل زیر روال Page_Load فقط اولین باری که صفحه بارگذاری می شود، اجرا گردد، از ویژگی Page.IsPostBack استفاده نمایید. اگر ویژگی Page.IsPostBack برابر fasle بود، صفحه برای اولین مرتبه بارگذاری شده است، اگر این ویژگی مقدار true داشت، صفحه به سمت سرور برگشت داده شده است (مثلا روی یک دکمه فرم کلیک شده است):

مثال (آموزش WebForm-مفهوم Event)

<script runat="server">
Sub Page_Load
if Not Page.IsPostBack then
  lbl1.Text="The date and time is " & now()
end if
End Sub

Sub submit(s As Object, e As EventArgs)
lbl2.Text="Hello World!"
End Sub
</script>

<html>
<body>
<form runat="server">
<h3><asp:label id="lbl1" runat="server" /></h3>
<h3><asp:label id="lbl2" runat="server" /></h3>
<asp:button text="Submit" onclick="submit" runat="server" />
</form>
</body>
</html>

خروجی کد بالا:

The date and time is 1/18/2014 1:06:35 AM

Hello World!

 

در مثال بالا فقط هنگامی که صفحه برای اولین مرتبه، بارگذاری می شود پیغام "The date and time is...." نمایش داده می شود. هنگامی که کاربر روی دکمه Submit کلیک می کند، زیر روال submit عبارت "Hello World!" را در دومین label می نویسد، اما زمان و تاریخ هیچ تغییری پیدا نمی کند.