Tuesday, May 20, 2008

ASP.Net Web page Code Model(အခန္း၁ ၏အဆက္)

ASP.Net Web page ေရးရာတြင္ Code Model ႏွစ္မ်ိဳးရွိပါသည္။

-         single-file page model ႏွင္႕

-         code-behind page model ဟူ၍ျဖစ္ပါသည္။

ဘယ္ပံုစံနဲ႕ေရးေရး ေနာက္ဆံုးရတဲ႕ result သည္ အတူတူျဖစ္ပါသည္။

 

1. Single-file page model

- .aspx တစ္ဖုိင္တည္းေရးျပီး အဲဒီဖိုင္ထဲမွာတင္ VE ႏွင္႕  PC ေတြပါသည္။

- PC တြင္ ASP.Net က execute လုပ္သည္႕  runat="server" ဟူသည္႕  attribute ပါ၀င္သည္႕  script block ထည္႕သြင္းထားသည္။

 

ေအာက္ပါနမူနာ page ကိုစမ္းၾကည္႕ရန္အတြက္ ဖြင္႕ထားေသာ Visual Studio 2005 တြင္ ပထမဦးစြာ view>solution explorer ကိုေခၚထားပါ။ ထုိ႕ေနာက္ မိမိ create လုပ္ထားေသာ root folder တြင္ right click ႏွိပ္၍ Add New Item ကို click ထပ္လုပ္ပါ။ Add New Item dialog box အတြင္းမွ Web Form ကို ေရြး၍ ေအာက္ပါ ဖိုင္နာမည္ ေျပာင္းျပီး Add လုပ္ပါ။

ရရွိလာေသာ page တြင္ ေအာက္ပါ ကုဒ္မ်ားကို ရိုက္သြင္းပါ။

 

FirstExample.aspx(ဖုိင္နာမည္ ေပးရန္)

<%@ Page Language="C#" %>

 

<script runat="server">

    void Button1_Click(object sender, EventArgs e)

    {

        Label1.Text = "Clicked at" + DateTime.Now.ToString();

    }

</script>

<html>

<head runat="server">

    <title>Single-File Page Model</title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div>

    </form>

</body>

</html>

 

Browser တြင္ ၾကည္႕ရန္ page တြင္ right click ႏွိပ္၍ View in Browser ကိုေရြးျပီး run ၾကည္႕ပါ။ IE browser တက္လာလွ်င္ Label ဟူသည္႕ စာသားႏွင္႕  button တခုေတြ႕ပါမည္။ button ကိုႏွိပ္ၾကည္႕လွ်င္ တၾကိမ္ႏွိပ္တိုင္း clicked at ဟူသည္႕ စာသားအေသႏွင္႕ updated Date time ကိုေတြ႕ႏို္င္ပါသည္။ (Dynamically produce လုပ္ေနျခင္းမွာ သိသာထင္ရွားပါသည္)

 

Coding ရွင္းလင္းခ်က္

<% ................ %> သည္ ASP.Net page ၏ directive ျဖစ္သည္။

<% Page directive ကို သံုးထားသည္။

Language="c#" ကဲ႕သို႕ေသာ key=value ပံုစံမ်ိဳးႏွင္႕ ေရးထားေသာ attributes မ်ားစြာပါရွိပါသည္။( မိမိ ေရးသားမည္႕  Language ကိုေျပာေပးျခင္း)

<script runat="server"> (ဒီ attribute ေလးပါကိုပါရပါမည္။ အဘယ္႕ေၾကာင္႕ဆိုေသာ္ C# code ေတြကို server ေပၚမွာပဲ run ေစခ်င္၍ျဖစ္သည္)

</script> (အဖြင္႕ tag အတြက္ အပိတ္ tag ျပန္ထည္႕ေပးရျခင္း)

ဒီ script block ေလးက single-file page model ႏွင္႕ ေရး၍ pc(C# code) ေတြ ေရးရန္ထည္႕ေပးရျပီး .aspx page အတြင္း မည္သည္႕ေနရာတြင္မဆို ထားလို႕ ရ၏။

<asp:Label......>

<asp:Button.....>

အထက္ပါ asp: ႏွင္႕ စသမွ် အရာအားလံုးကို server controls ေတြဟုေခၚပါသည္။

server controls ျဖစ္တာနဲ႕လည္း id, runat="server" ဟူသည္႕  attribute ႏွစ္ခု ရွိကိုရွိရပါမည္။

onclick="Button1_Click" ဆိုသည္မွာ ထည္႕သြင္းထားသည္႕ button ေလးကို Event လာခ်ိတ္ျခင္းျဖစ္သည္။

 

မွတ္သားရန္

server controls အမ်ိဳး 200ေက်ာ္ရွိပါသည္။ သို႕ေသာ္ ၄င္းတုိ႕အတြက္ ခ်ိတ္ရန္ Events အသံုးအမ်ားဆံုး 4ခုသာရွိပါသည္။

  1. Click (controls button: ဥပမာ-Button, ImageButton, LinkButton)
  2. TextChanged (ဥပမာ-Text Box)
  3. CheckChanged( ဥပမာ-RadioButton, CheckBox)
  4. SelectedIndexChanged(list controls: ဥပမာ-DropDrownList, ListBox, CheckBoxList, etc..)

Click သည္ postback events ျဖစ္၍ က်န္သံုးခုသည္ non-postback event or cache events မ်ားျဖစ္သည္။

 

စာၾကြင္း။ ။ Code-behind Page Model ကိုေနာက္တစ္ပို႕စ္တြင္ ဆက္လက္ေရးသားပါမည္။ ေခတၱေစာင္႕ေပးၾကေနာ္။

3 comments:

NN said...

plz carry on writing abt ASP.Net. I admire ur will and hard work during 100 days. I didnt get chance to sit for MCTS. did u attend INdustrial ASP.Net or just MCTS ?? Pls share abt it too. Are u planning to come to SG or Aussie ? :) good luck, ma melody

Mi Mi said...

NN yei,

Due to bad connection, I have to double writing and cause delay.
Yes, of course, I did attend all of industrial ASP.Net and MCTS(536 & 528)exam preparation classes. I am under on Job training now. After I finished it, I will come and work to SG. Where are you now in SG or Aussie? I want to meet you someday. I also loved to carry on writing about ASP.Net.

Karaweik ကရဝိတ္ 妙声鸟 Alvin (Sumedha) said...

Wishing you success in your ASP.Net and MCTS exams. The professional certifications will definitely put you in better chance of getting employment pass.