our notes for our youngers

October 14, 2009

basic of ASP.NET (part 2)

Filed under: Basic of ASP.NET — sevenlamp @ 10:53 AM

EVENT HANDLING

ဒီေန႔ ကြၽန္ေတာ္တို႔ ASP.NET ရဲ႕ event ေတြ အလုပ္လုပ္ပံုကို ေလ့လာလိုက္ရေအာင္။ ASP.NET မွာ server-side event အမ်ိဳးအစား ၃ မ်ိဳးရွိပါတယ္။ အဲ့ဒါေတြကေတာ့…

၁) Page Events ( Page_Load, Page_Init, …. )

၂) Cache Events (TextChanged, CheckedChanged, … )  နဲ႔

၃) Post-Back Events (Button1_Click) တိုျဖစ္ပါတယ္။

Server-side event ေတြက အေပၚမွာ ျပထားတဲ႔ အတိုင္းပဲ အစီအစဥ္လိုက္ အလုပ္လုပ္ပါတယ္။ server side ကိုေရာက္တာနဲ႔ အရင္ဆံုး Page Events ေတြက အရင္လုပ္ပါတယ္။ ျပီးရင္ cache events ေတြရွိရင္ cache events ေတြ လုပ္ပါတယ္။ ေနာက္ဆံုးမွ Post-Back event က အလုပ္လုပ္ပါတယ္။ ဒါေၾကာင့္ ကြၽန္ေတာ္တို႔ သိထားရမွာက web application မွာ button ကိုႏွိပ္လိုက္ရင္ အရင္ဆံုး အလုပ္လုပ္သြားမွာက အဲ့ဒီ button ရဲ႕ click event မဟုတ္ဘူး ဆိုတာပါပဲ။ example program ေလး တစ္ခုေလာက္ ၾကည့္လိုက္ပါ။ ရွင္းသြားမွာပါ။ web from ေလး တစ္ခု ယူျပီး TextBox တစ္ခုနဲ႔ Button တစ္ခု ထည့္လိုက္ပါ။

<body><form id=”form1″ runat=”server”>

<asp:TextBox ID=”TextBox1″ runat=”server” ontextchanged=”TextBox1_TextChanged”> </asp:TextBox>

<asp:Button ID=”Button1″ runat=”server” onclick=”Button1_Click” Text=”Button” />

</form>

</body>

ျပီးရင္ TextBox အတြက္ TextChanged Event နဲ႕ Button အတြက္ ButtonClick Event ကို cs file မွာ သြားေရးပါမယ္။ Page_Load event မွာလည္း ေအာက္မွာ ျပထားတဲ႔ အတိုင္း ေရးလိုက္ပါ။

protected void Page_Load(object sender, EventArgs e)
{
       Response.Write("--Page_Load--");
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
       Response.Write("--TextBox1_TextChanged--");
}
protected void Button1_Click(object sender, EventArgs e)
{
       Response.Write("--Button1_Click--");
}

အိုေက.. ဒါဆိုရပါျပီ အရင္ဆံုး run ၾကည့္လိုက္ပါတယ္။ browser မွာ ဘာေတြ ေပၚလာမလဲ။ –Page Load– ဆိုတဲ႔ စာသား ေပၚလာမွာပါ။ ဘာလို႔လဲ ဆိုေတာ့ page ေပၚဖို႔အတြက္ server side ကို ပထမဆံုး request လုပ္တဲ႔ အခါ page load event ျဖစ္သြားလို႔ပါ။ အခု textbox မွာ စာရိုက္ၾကည့္ပါ။ ကြၽန္ေတာ္တို႔ ေရးထားတဲ႔ Textchanged event ျဖစ္လား။ မျဖစ္ပါဘူး။ ဘာလို႔လဲ ဆိုေတာ့ textchange event က cache event အမ်ိဳးအစားျဖစ္တာေၾကာင့္ server side ကို post back မျပန္မျခင္း အလုပ္မလုပ္ပါဘူး။ ျပီးေတာ့မွာ button ေလးကို ႏွိပ္လိုက္ပါ။ ဒါဆိုရင္ေတာ့ server side ကို postback ျပန္သြားပါလိမ္မယ္။ buton click လုပ္လိုက္ေပမယ့္ click event ကို အရင္လုပ္မွာ မဟုတ္ပါဘူး။ ပထမဆံုး PageLoad ပဲ အရင္လုပ္မွာပါ။ ေနာက္ ခုနတုန္းက cache လုပ္ထားတဲ႔ TextChanged Event ဆက္လုပ္ပါတယ္။ ေနာက္ဆံုးမွ PostBack event ျဖစ္တဲ႔ Button Click အလုပ္လုပ္သြားတာ ေတြ႔ရမွာပါ။ ဒါေၾကာင့္ page မွာ ဒါမ်ိဳး ေပၚသြားမွာပါ။

–Page_Load—-TextBox1_TextChanged—-Button1_Click–

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

Create a free website or blog at WordPress.com.