MYSTERY ZILLION တွင် English သို့မဟုတ် Unicode ဖြင့်သာ အသုံးပြုခွင့်ရှိသည်။ ဇော်ဂျီ ၊ ဧရာ စသည်တို့ကို အသုံးပြုခွင့် မရှိ။ Unicode fonts များမှာ Mon3,Yunghkio, Myanamr3 စသည်များ အသုံးပြုနိုင်သည်။ Unicode Guide ကို ဒီမှာ Download ချပါ။ Zawgyi to Unicode Converter
Don't share ebook or software if nobody request. You can find free book websites on here. We are welcome for discussion or asking question instead.

(1) asp.net

edited September 2009 in ASP / ASP.NET
ASP.NET – Web Pages

ရိုးရှင်းတဲ့ ASP.NET page တစ်ခုဟာ ရိုးရိုးသာမန် HTML page တစ်ခုလိုပါပဲ
Hello W3Schools
ASP.NET ကို စတင်လေ့လာရန်အတွက် Internet browser မှာ Hello W3Schools လို့ display လုပ်ပြမယ့် အင်မတန်ရိုးရှင်းလှတဲ့ HTML page တစ်ခုကို ကျွန်တော်တို့ တည်ဆောက်ကြည့်ကြရပါလိမ့်မယ်
Hello W3Schools in HTML
ဒီ code တွေဟာ အောက်ပါ example ကို HTML page တစ်ခုအဖြစ် display လုပ်ပြပါမယ်

<html>
<body bgcolor = “yellow”>
<center>
<h2> Hello W3Schools! </h2>
</center>
</body>
</html>

ကိုယ်တိုင်စမ်းသပ်ကြည့်ချင်တယ်ဆိုရင်တော့ firstpage.html လို့ခေါ်တဲ့ file တစ်ခုထဲမှာ code တွေကို save လုပ်ပါ
ပြီးတော့ ဒီ file ဆီကိုသွားမယ့် link တစ်ခုကို create လုပ်ပါ
ဒီလိုလေးပေါ့ firstpage.html

(ကျွန်တော််ကတော့ အဲလိုမလုပ်ပါဘူး။ ပထမဆုံး notepad အလွတ်တစ်ခုကို ဖွင့်လိုက်ပါတယ်။ ပြီးတော့ အထက်က code တွေကို copy & paste လုပ်လိုက်ပါတယ်။ တစ်ကြောင်းချင်းရိုက်တည့်ရင် ပိုမှတ်မိပါတယ်။ အဲဒီ Notepad ကို save လုပ်တော့ ကြိုက်တဲ့ location တစ်ခုအောက်မှာ file name ကို firstpage အမည်နဲ့ extension ကို html အဖြစ်နဲ့ ဆိုတော့ firstpage.html အဖြစ်နဲ့သိမ်းလိုက်ပါတယ်။ Save as type ကိုတော့ မပြောင်းပါဘူး။ Text Documents (*.txt) အဖြစ်ပဲထားပါတယ်။ Encoding အကြောင်းကိုတော့ နားမလည်ပါဘူး။ သိတဲ့သူတွေရှိရင် ရှင်းပြပေးပါရန်။ သိတာတစ်ခုတည်းရှိပါတယ်။ ANSI အနေနဲ့သိမ်းရင် page ထဲမှာ ဇော်ဂျီ font နဲ့ရိုက်ထားခဲ့ရင် မြန်မာလိုမမြင်ရဘဲ [[[ ဒါတွေပဲမြင်နေရပါတယ်။ Unicode နဲ့ပြောင်းပြီး save လုပ်လိုက်ရင်တော့ မြန်မာလိုမြင်ရပါတယ်။ လျှောက်ကလိကြည့်လို့သိတာပါ။ ရေရေရာရာမသိလို့ သိသူများရှင်းပြပေးကြပါရန်။

location ကိုတော့ ကျေးဇူးပြုပြီး desktop အောက်မှာ ASP DOT NET EX ဆိုတဲ့ folder အသစ်တစ်ခုဆောက်ပြီး အဲဒီအောက်မှာသိမ်းပေးပါ။ ခဏနေကျရင် လုပ်စရာရှိလို့ပါ။

ထိုကဲ့သို့သိမ်းပြီးပြီဆိုရင်တော့ Internet browser တစ်ခုခုကိုဖွင့်ပါ။ Internet Explorer ဖြစ်ဖြစ်၊ Mozilla Firefox ဖြစ်ဖြစ်ပေါ့။ ထို့နောက် File menu မှ Open ကိုရွေးပြီး သင်ခုနကသိမ်းထားသော firstpage.html file ကို browse လုပ်ပြီးဖွင့်ကြည့်ပါ။ result ကို သင်မြင်ရပါလိမ့်မယ်။ Internet Explorer 7 ဆိုရင် Menu bar ကိုသင်မြင်ရမှာမဟုတ်ပါဘူး။ Alt key လေးကိုနှိပ်ကြည့်လိုက်ရင် ပေါ်လာပါလိ်မ့်မယ်။ W3Schools ကပြောလို့သိတာပါ။

သင့်ဆီမှာ Microsoft Visual Studio 2005 ကို install လုပ်ထားတယ်ဆိုရင် အဲဒီထဲမှာလည်း အထက်ပါ example ကို စမ်းသပ်ကြည့်လို့ရပါတယ်။ Microsoft Visual Studio 2008 ထွက်နေပြီဆိုလားပဲ။ ဒါပေမယ့် ကျွန်တော့် ဆီမှာတော့ Microsoft Visual Studio 2005 ပဲရှိပါတယ်။ language ကို Visual C# အဖြစ်ထားပြီး install လုပ်ထားတာပါ။

ပထမဆုံး Microsoft Visual Studio 2005 ကို ဖွင့်လိုက်ပါ။
ပြီးရင် အလွယ်ဆုံးပေါ့ File Menu မှ Open ကိုရွေးပြီး Web site ကိုထပ်ရွေးပြီး desktop ပေါ်က သင်ဆောက်ခဲ့သော ASP DOT NET EX ဆိုတဲ့ folder ကို select မှတ်ပြီး Open လုပ်ပါ။ Solution Explorer Pane တွင်မြင်နေရမည်ဖြစ်သော သင်ခုနကပြုလုပ်ခဲ့သော firstpage.html file ကို double click ဖြင့်ဖွင့်ကြည့်ပါ။ Solution Explorer Pane မပေါ်နေလျင် View menu မှ ခေါ်ယူနိုင်ပါသည်။

Source တွင် သင်ရိုက်ထည့်ခဲ့သော code များကို မြင်တွေ့ရပါမည်။
Design တွင် သင်ခုနက Internet browser တွင်မြင်ခဲ့ရသော အ၀ါနောက်ခံတွင် Hello W3Schools ဆိုသောစာသားကို မြင်တွေ့ရမည်ဖြစ်ပါသည်။

Solution Explorer Pane တွင်မြင်ရသော firstpage.html ဖိုင်အမည်ပေါ်တွင် right click နှိပ်ပြီး View in Browser ကိုရွေးချယ်ကြည့်ပါ။ Internet browser တစ်ခုတက်လာပြီး result ကိုမြင်တွေ့ရပါလိမ့်မယ်။

အထက်ပါအတိုင်းကိုယ်တိုင်ပြန်စမ်းသပ်ကြည့်သောအခါမှာ Notepad ထဲသို့ code များကို copy & paste လုပ်ပြီး save လုပ်ပြီး Internet browser မှာ result ကိုကြည့်သောအခါ အ၀ါရောင်နောက်ခံမဟုတ်ဘဲ အညိုရောင်ကြီးဖြစ်နေပါတယ်။ အဲဒီတော့ Hello W3Schools ဆိုသောစာသားကိုလည်း ၀ါး၀ါးကြီးပဲ တွေ့ရတာပေါ့။ Internet browser ထဲမှာ right click နှိပ်ပြီး View Source ကိုရွေးပြီး copy & paste လုပ်ထားသော code တွေအကုန်ပြန်ဖျက်ပြီး ကိုယ့်ဘာသာကိုယ်ပဲတစ်ကြောင်းချင်းပြန်ရိုက်ပြီး save လုပ်၊ ပြီးတော့မှ page ကို refresh ပြန်လုပ်ကြည့်တော့ ဟုတ်နေပြန်ရော။ ဒါဟာလည်းဘာကြောင့်ပါလဲ ရှင်းပြကြပါ၊ ကူညီကြပါ။ font type ကြောင့်ပဲလားဆိုတာ သိချင်ပါတယ်။

ပရိုဂရမ်းမင်းလည်း မကျွမ်းပါ။ ဘာသာပြန်လည်းမကျွမ်းပါ။ လော့ဂျစ်လည်းမကျွမ်းပါ။ ဘာမှမကျွမ်းပါ။ သင်တန်းတက်မိပြီး သိချင်မေးချင်တာလေးတွေရှိသောကြောင့် ကျွန်တော်နဲနဲသိတာလေးကိုပြပြီး ကျွန်တော်များများသိချင်တာကို အခွင့်ကောင်းယူပြီးမေးကြည့်တာပါ။ လူလည်လုပ်တာသက်သက်တော့မဟုတ်ပါ။ W3Schools မှာ၀င်ဖတ်ပြီးလေ့လာနေခြင်းလည်းဖြစ်ပါတယ်။ ကူညီကြပါကုန်။ အမှားပါလျင်လည်းခွင့်လွှတ်ကြပါ :D
How Does It Work ?

အခြေခံကျကျပြောရမယ်ဆိုရင်တော့ ASP.NET page တစ်ခုဟာ HTML page တစ်ခုနဲ့ အတူတူပါပဲ

HTML page တစ်ခုမှာ .html ဆိုတဲ့ extension ရှိပါတယ်၊ တကယ်လို့ browser ဟာ server ကနေ HTML page တစ်ခုကို request လုပ်လိုက်ရင် server ဟာ browser ဆီသို့ page ကို ပြောင်းလဲပြင်ဆင်မှုတစုံတရာမပြုလုပ်ဘဲ send လုပ်ပေးပါတယ်

ASP.NET page တစ်ခုမှာ .aspx ဆိုတဲ့ extension ရှိပါတယ်၊ တကယ်လို့ browser ဟာ ASP.NET page တစ်ခုကို request လုပ်လိုက်ရင် server ဟာ page ထဲမှာပါတဲ့ မည်သည့် executable code ကိုမဆို result ကို browser ဆီသို့ မပို့ခင်မှာ process လုပ်ပစ်လိုက်ပါတယ်၊

ခုနကဥပမာထဲက ASP.NET page ထဲမှာ မည်သည့် executable code မှမပါ၀င်ပါဘူး၊ ထို့ကြောင့် ဘာကိုမှ execute မလုပ်ပါဘူး၊ နောက်ထပ်တွေ့ရမယ့် example တွေမှာတော့ ကျွန်တော်တို့ဟာ page ထဲကို executable code အချို့ထပ်ပေါင်းထည့်ကြည့်မှာပါ၊ static HTML page တွေနဲ့ dynamic ASP page တွေရဲ့အကြားက ကွဲပြားခြားနားမှုကိုဖော်ပြရန်အတွက်ဖြစ်ပါတယ်
Classic ASP
Active Server Pages (ASP) ရှိနေခဲ့တာ နှစ်တွေကြာပါပြီ၊ ASP နဲ့ဆိုရင် executable code တွေကို HTML page တွေအတွင်းမှာ ထည့်သွင်းလို့ရပါတယ်

ASP.NET မတိုင်မီက ASP previous version တွေကို Classic ASP လို့တခါတရံခေါ်လေ့ရှိပါတယ်

ASP.NET ဟာ Classic ASP နဲ့အပြည့်အ၀တော့ compatible မဖြစ်ပါဘူး
(အဲဒီ compatible မဖြစ်ပါဘူးဆိုတာကို ဥပမာလေးနဲ့တကွ သိတဲ့လူရှိရင်ရှင်းပြပေးပါရန် တောင်းဆိုအပ်ပါတယ်၊ တွေ့လို့သာဘာသာဇွတ်ပြန်ပစ်လိုက်တာ၊ နားမလည်လှပါဘူး၊ hardware အပိုင်းက ဥပမာမျိုးရှိခဲ့ရင်လည်းရှင်းပြပေးပါ)
ဒါပေမယ့် Classic ASP page အများစုဟာ ASP.NET page အဖြစ်ကောင်းစွာအလုပ်လုပ်ပါလိမ့်မယ်၊ မပြောပလောက်သော changes လေးတွေတော့ရှိမှာပေါ့
Dynamic Page in Classic ASP
ASP ဟာ dynamic content များဖြင့် page တွေကို ဘယ်လို display လုပ်ပြနိုင်သလဲဆိုတာကို demonstrate လုပ်ရန် စောစောက example ထဲကို executable code အချို့ကို ထပ်ထည့်ကြည့်ရအောင်

<html>
<body bgcolor=”yellow”>
<center>
<h2>
Hello W3Schools!
</h2>
<p>
<%Response.Write(now())%>
</center>
</p>
</body>
</html>

<% . . . %> tags တွေအကြားက code တွေကို server ပေါ်မှာ execute လုပ်မှာပါ

Respones.Write ဆိုတာဟာ HTML output stream ထဲမှာ တစုံတခုကို ရေးသားရန်အတွက် ASP code တစ်ခုဖြစ်ပါတယ်

Now() ဆိုတာကတော့ function တစ်ခုဖြစ်ပါတယ်၊ server ရဲ့ current date နဲ့ time ကို return ပြန်ပေးပါတယ်

သင်ကိုယ်တိုင်စမ်းသပ်ကြည့်ချင်တယ်ဆိုရင် dynpage.asp လို့ခေါ်တဲ့ file ထဲမှာ code တွေကို save လုပ်လိုက်ပါ၊ ဒီ file ကို သင်တည်ဆောက်ခဲ့သော desktop ပေါ်က ASP DOT NET EX ဆိုတဲ့ folder ထဲမှာပဲသိမ်းလိုက်ပါ၊ ထို့နောက် Microsoft Visual Studio 2005 မှာ firstpage.html file တုန်းက သင်စမ်းသပ်ခဲ့သလိုပဲ ဒီ file ကိုလည်းစမ်းသပ်ကြည့်ပါ
Dynamic Page in ASP.NET
စောစောက ကျွန်တော်တို့ရေးခဲ့တဲ့ code တွေဟာ ကျွန်တော်တို့ရဲ့ example ကို ASP.NET page တစ်ခုအဖြစ် display လုပ်ပြနိုင်ပါတယ်၊ သင်ကိုယ်တိုင်စမ်းသပ်ကြည့်ရန် dynpage.aspx လို့ခေါ်တဲ့ file ထဲမှာ code တွေကို save လုပ်လိုက်ပါ၊ ပြီးရင်တော့ လုပ်ရိုးလုပ်စဉ်အတိုင်း စမ်းသပ်ကြည့်ပါ
ASP.NET vs Classic ASP
ခုနက example နှစ်ခုကတော့ ASP.NET နှင့် Classic ASP အကြားက မည်သည့် difference ဖြစ်မှုမျိုးကိုမှ demonstrate လုပ်မပြခဲ့ပါဘူး

တကယ်လို့ နောက်ဆုံး example နှစ်ခုမှာ ASP နှင့် ASP.NET page နှစ်ခုအကြားမှာ difference ဖြစ်မှုတွေမရှိခဲ့ဘူးဆိုတာ သင်မြင်တွေ့ခဲ့ရတဲ့အတိုင်းပါပဲ

နောက်သင်ခန်းစာတွေမှာ server controls တွေဟာ ASP.NET ကို Classic ASP ထက် ပိုမို powerful ဖြစ်အောင်လုပ်ပေးနိုင်တယ်ဆိုတာကို သင်မြင်တွေ့ရပါလိမ့်မယ်

(လိုအပ်ချက်လေးတွေတွေ့ခဲ့ရင် ဖြည့် စွက်ရှင်းလင်းပေးပါရန်၊ ကျေးဇူးတင်လျက်ပါ)
:D

မှတ်ချက်များ

  • edited May 2009 Registered Users
    ကို adam ရေ တော်တော်လေးကောင်းတဲ့ပို့စ်ပါ . . .
    အခြေခံကျကျရေးထားတာ
    ကျေးဇူးပါပဲ .. . ဆက်ရေးပေးပါ.. စောင့်ဖတ်နေမယ်ဗျာ
  • edited May 2009 Registered Users
    ASP.NET - Server Controls
    Server control ဆိုတာကတော့ tag တွေပါပဲ၊ server ကနားလည်တဲ့ tag တွေဖြစ်ပါတယ်
    Limitations in Classic ASP
    <html>
    <body bgcolor = “yellow>
    <center>
    <h2>
    Hello W3Schools !
    </h2>
    <p> <%Response.Write(now( ))%> </p>
    </center>
    </body>
    </html>

    အထက်ပါ code များဟာ classic ASP မှာ ကန့်သတ်ချက်ရှိတာကို ဖော်ပြနေပါတယ်၊ output ပေါ်စေချင်တဲ့နေရာမှာ code block ကို ထားရပါမယ်

    Classic ASP နဲ့ဆိုရင် HTML မှနေပြီး executable code ကို ခွဲထုတ်ရန်မဖြစ်နိုင်ပါဘူး၊ ဒါဟာ page ကိုဖတ်ရတာ၊ maintain လုပ်ရတာပိုခက်ခဲစေပါတယ်
    ASP.NET – Server Controls
    ASP.NET ဟာ အထက်မှာဖော်ပြခဲ့တဲ့ problem ကို server controls တွေနဲ့ဖြေရှင်းထားပါတယ် ( spaghetti-code problem လို့ပြောထားတာခင်ဗျ၊ W3Schools web site မှာ။ idiom လား၊ ဘယ်လိုဘာသာပြန်ရမှန်းမသိဘူးဖြစ်နေတယ်ခင်ဗျ၊ သပွတ်အူလိုရှုပ်ထွေးတဲ့လို့ပြောချင်တာလားမသိဘူး၊ :71: ကူညီကြပါဦး)

    Server controls တွေဆိုတာ server ကနေနားလည်နိုင်တဲ့ tags တွေဖြစ်ပါတယ်

    Server controls သုံးမျိုးရှိပါတယ်
    • HTML Server Controls – Traditional HTML tags
    • Web Server Controls – New ASP.NET tags
    • Validation Server Controls – For input validation
    ASP.NET – HTML Server Controls
    HTML server controls ဆိုတာ server ကနေနားလည်နိုင်တဲ့ HTML tags တွေဖြစ်ပါတယ်

    Default အနေနဲ့ ASP.NET file တွေထဲက HTML element တွေကို text တွေအဖြစ် သဘောထားပါတယ်၊ ဒီ element တွေကို programmable ဖြစ်စေရန် HTML element ထဲသို့ runat = “server” ဆိုတဲ့ attribute ကိုထပ်ပေါင်းထည့်ပါ ( programmable ဖြစ်စေရန်ဆိုတာကို မြန်မာလိုနားလည်အောင်ဘယ်လိုပြောရင်ကောင်းမလဲမသိပါ၊ :71:)

    ဒီ attribute က ဤ element ကို server control အဖြစ်သဘောထားသင့်ပါတယ်လို့ ဖော်ပြပေးပါတယ်

    Server control ကို identify လုပ်ရန် ဤ attribute ကို add လုပ်ထားတာပါ၊ run time မှာ server control ကို manipulate လုပ်ရန် ဒီ id reference ကို အသုံးပြုနိုင်ပါတယ်

    Note: HTML server controls တွေအားလုံးဟာ runat = “server” attribute နှင့်တကွ <form> tag တစ်ခုအတွင်းမှာပဲ ရှိရပါမယ်၊ runat = “server” attribute ဟာ form ဟာ server ပေါ်မှာprocess လုပ်ရမယ်လို့ ဖော်ပြပါတယ်၊ နောက်ပြီးတော့ enclosed ဖြစ်နေတဲ့ control တွေကို server scripts တွေက access လုပ်နိုင်ပါတယ်ဆိုတာကိုလည်း ဖော်ပြပါတယ်

    အောက်မှာလာမယ့် example မှာ ကျွန်တော်တို့ဟာ .aspx file တစ်ခုထဲမှာ HTMLAnchor Server control တစ်ခုကို declare လုပ်ထားပါတယ်၊ ထို့နောက်မှာတော့ ကျွန်တော်တို့ဟာ event handler တစ်ခုထဲမှာ HTMLAnchor control ရဲ့ Href attribute ကို manipulate လုပ်ထားပါတယ်

    event handler ဆိုတာ subroutine တစ်ခုပဲဖြစ်ပါတယ်၊ ပေးထားသော event တစ်ခုအတွက် code တွေကို execute လုပ်ပါတယ်၊ Page_Load event ဟာ ASP.NET ကနားလည်နိုင်တဲ့ event များစွာထဲက event တစ်ခုပဲဖြစ်ပါတယ်

    <script runat = “server”>
    Sub Page_Load
    link1.HRef = “http://www.w3schools.com”
    End Sub
    </script>
    <html>
    <body>
    <form runat = “server”>
    <a id = “link1” runat = “server”>
    Visit W3Schools !
    </a>
    </form>
    </body>
    </html>

    Execute လုပ်နိုင်သော code တွေဟာ ယခုဆိုရင် HTML ရဲ့အပြင်ဘက်ကို ရွှေ့ထုတ်ပြီးသားဖြစ်နေပါပြီ
  • edited May 2009 Registered Users
    ကို adam ရေ တော်တော်လေးကောင်းတဲ့ပို့စ်ပါ . . .
    အခြေခံကျကျရေးထားတာ
    ကျေးဇူးပါပဲ .. . ဆက်ရေးပေးပါ.. စောင့်ဖတ်နေမယ်ဗျာ

    database အပိုင်းတွေရောက်လို့နားမလည်ရင် အစ်ကို့ ကိုအကူအညီတောင်းရမှာပဲ :71:
  • edited May 2009 Registered Users
    ASP.NET - Web Server Controls
    web server control ဆိုတာ server ကနေ နားလည်နိုင်တဲ့ အထူး ASP.NET tags တွေဖြစ်ပါတယ်၊ HTML server controls တွေလိုမျိုးပဲ web server control တွေကို server
    ပေါ်မှာ create လုပ်ပြီး သူတို့အလုပ်လုပ်ဆောင်ရန်အတွက် runat = “server” ဆိုတဲ့ attribute ကို လိုအပ်ပါတယ်၊ သို့သော်လည်း web server control တွေဟာ ရှိနှင့်ပြီးသား မည်သည့် HTML elements ကိုမျှ map လုပ်ရန်မလိုပါဘူး၊ ပြီးတော့ သူတို့ဟာ ပိုမိုရှုပ်ထွေးတဲ့ element တွေကို represent လုပ်ကြပါတယ်

    web server control တစ်ခုကို create လုပ်ရန် syntax ကတော့ <asp:control name id:=”some id” runat = “server”/> ဖြစ်ပါတယ်

    အခုလာမယ့် example မှာ ကျွန်တော်တို့ဟာ .aspx file တစ်ခုထဲမှာ Button server control တစ်ခုကို declare လုပ်ထားပါတယ်၊ အဲဒီနောက်မှာတော့ button ပေါ်က text ကို change လုပ်မယ့် Click event အတွက် event handler တစ်ခုကို create လုပ်ထားပါတယ်

    <script runat = “server”>
    Sub submit (Source As Object , e As EventArgs)
    button1.Text = “You clicked me ! “
    End Sub
    </script>
    <html>
    <body>
    <form runat = “server”>
    <asp:Button id = “button1” Text = “Click me !” runat = “server” OnClick = “submit”/>
    </form>
    </body>
    </html>
    ASP.NET – Validation Server Controls
    user-input တွေကို validate လုပ်ရန် validation server controls တွေကို အသုံးပြုပါတယ်

    တကယ်လို့ user-input တွေဟာ validation တွေကို pass မလုပ်နိုင်ရင် user ကို error message တစ်ခုကို display လုပ်ပြပါလိမ့်မယ်

    validation controls တစ်ခုစီဟာ တိကျတဲ့ validation type တစ်ခုကို ဆောင်ရွက်ပေးပါတယ်၊ (တိကျတဲ့ value တစ်ခုကို ဒါမှမဟုတ် range of values တွေကို validate လုပ်ခြင်းမျိုးပါ)

    default အားဖြင့် page validation ကို ဘယ်အချိန်မှာဆောင်ရွက်လဲဆိုရင် Button control ကို၊ ဒါမှမဟုတ် ImageButton control ကို၊ ဒါမှမဟုတ် LinkButton control ကို click လုပ်လိုက်တဲ့အချိန်မျိုးမှာ ဆောင်ရွက်ပါတယ်

    button control တစ်ခုကို click လုပ်လိုက်တဲ့အချိန်မျိုးမှာ validation ကို prevent လုပ်ရန် CausesValidation property ကို false အဖြစ် set လုပ်ထားရပါမယ်

    validation server control ကို create လုပ်ရန် syntax ကတော့
    <asp:control name id = “some id” runat = “server”/> ဖြစ်ပါတယ်

    အောက်မှာလာမယ့် example မှာ ကျွန်တော်တို့ဟာ TextBox control တစ်ခု၊ Button control တစ်ခုနှင့် RangeValidator control တစ်ခုတို့ကို .aspx file တစ်ခုအတွင်းမှာ declare လုပ်ထားပါတယ်

    validation fail ဖြစ်ခဲ့ရင် “The value must be from 1 to 100 !” ဆိုတဲ့ text ကို RangeValidator control ထဲမှာ display လုပ်ပြမှာဖြစ်ပါတယ်

    <html>
    <body>
    <form runat = “server”>
    <p>
    Enter a number from 1 to 100 :
    <asp:TextBox id = “ tbox1” runat = “server”/>
    <br></br>
    <asp:Button Text = “Submit” runat = “server”/>
    </p>
    <p>
    <asp:RangeValidator
    ControlToValidate = “tbox1”
    MinimumValue = “1”
    MaximumValue = “100”
    Type = “Integer”
    Text = “The value must be from 1 to 100 !”
    runat = “server”/>
    </p>
    </form>
    </body>
    </html>
    :)) လော့ဂ်အင်န်၀င်လို့ရသွားပြီ
    ပျော်တယ်ဗျာ


  • edited May 2009 Registered Users
    ASP.NET – Events
    Event Handler ဆိုတာ ပေးထားတဲ့ event တစ်ခုအတွက် code တွေကို execute လုပ်တဲ့ subroutine တစ်ခုဖြစ်ပါတယ်
    ASP.NET – Event Handlers
    အောက်ပါ code များကိုကြည့်ပါ

    <%
    lbl1.Text = “The date and time is “ & now ( )
    %>
    <html>
    <body>
    <form runat = “server”>
    <h3>
    <asp:label id = “lbl1” runat = “server”/>
    </h3>
    </form>
    </body>
    </html>

    အထက်ပါ code တွေကို ဘယ်အချိန်မှာ execute လုပ်မှာလဲ၊ အဖြေကတော့ “ သင်မသိပါဘူး”
    The Page_Load Event
    Page_Load event ဆိုတာ ASP.NET ကနားလည်နိုင်တဲ့ event များစွာထဲက တစ်ခုဖြစ်ပါတယ်၊ page တစ်ခုကို load လုပ်လိုက်တဲ့အချိန်မှာ Page_Load event ဖြစ်ပျက်ပါတယ်၊ ASP.NET ဟာ Page_Load subroutine ကို automatic call လုပ်ပါတယ်၊ ပြီးတော့ သူ့အထဲက code တွေကို execute လုပ်ပါတယ်

    <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>

    Note: Page_Load event မှာ object references တွေ၊ သို့မဟုတ် event argument တွေမပါ၀င်ပါဘူး
    The Page.IsPostBack Property
    Page_Load subroutine ကို page ကို load လုပ်လိုက်တိုင်းမှာ run ပါတယ်၊ တကယ်လို့ သင်ဟာ page ကိုပထမဆုံးအကြိမ် load လုပ်စဉ်မှာပဲ Page_Load subroutine ထဲက code တွေကို execute လုပ်ချင်တာဆိုရင် သင်ဟာ Page.IsPostBack property ကို သုံးရပါမယ်

    တကယ်လို့ Page.IsPostBack property ဟာ false ဖြစ်ခဲ့မယ်ဆိုရင် page ကို ပထမအကြိမ်အတွက် load လုပ်ပါမယ်၊ တကယ်လို့ ဒါဟာ true ဖြစ်ခဲ့မယ်ဆိုရင် page ကို server ဆီသို့ post back လုပ်ပါလိမ့်မယ်၊ (form ပေါ်မှာ button click ခြင်းတစ်ခုမှနေပြီးတော့ ဆိုတာလိုမျိုး)

    <script runat = “server”>
    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>

    အထက်ပါ example သည် ပထမဆုံးအကြိမ် page ကို load လုပ်တဲ့အချိန်မှာသာ “The date and time is . . . “ message ကို write လုပ်မှာဖြစ်ပါတယ်

    user ဟာ Submit button ပေါ်မှာ click လုပ်လိုက်တဲ့အချိန်မှာ submit subroutine ဟာ second label ပေါ်မှာ “Hello World” လို့ write လုပ်ပြပါလိမ့်မယ်၊ ဒါပေမယ့် first label ပေါ်က date and time ကတော့ပြောင်းလဲသွားလိမ့်မယ်မဟုတ်ပါဘူး


    :P အမှားပါရင် အားလုံးခွင့်လွှတ်ကြပါဗျို့

  • edited May 2009 Registered Users
    Adam wrote: »


    Sub submit (Source As Object , e As EventArgs)


    အကိုရေ ..တဆိတ်လောက် .. (Source As Object ? , e As EventArgs ? ) ဆိုတာ ..ASP မှာ Parameter တွေအဖြစ်သုံးလားခင်ဗျာ ..ဘာအတွက်သုံးတာလဲ??


    ASP မှာ ..Code Behind ကို VBScript နဲ့ ရေးတာလားခင်ဗျာ .. ??? Life Cycle 9 ခု သုံးလား ?? ပြီးတော့ Database နဲ့ ချိတ်ရင် .. ADO.Net ကောသုံးလားခင်ဗျာ ..

    နောက်တခုက .. ဥပမာ ..E-Commerce System တခုမှာ .. User က Name Text Box တို့ ဘာတို့မှာ .. SQL Injection ခေါ်မလား , SQL Query Statement အဖြစ် ;DELETE * FROM (Table Name ) ကိုရိုက်ထဲ့လိုက်ရင် .. Protect လုပ်ဖို့ ဘယ်လို code ကို အသုံးပြုပါလဲခင်ဗျာ ၊၊၊??

    ကြားဖူးတာလေးတွေသိချင်လို့ပါ ..အမှားပါရင်ခွင့်လွှတ်ပါ ..
    ကျေးဇူးပါ ..
  • edited May 2009 Registered Users
    ကိုwilly ရေ...အဓိအပိုင်းတွေကိုကျွန်တော်နည်းနည်းမဟုတ်ဘူး....များများမသိဘူဖြစ်နေတယ်ဗျ....ကိုwilly ဖြစ်ဖြစ်..ကိုAdam ဖြစ်ဖြစ်နည်းနည်းလောက်ရှင်းပြပါလားခင်ဗျာ.....
  • edited May 2009 Registered Users
    bluerays wrote: »
    ကိုwilly ရေ...အဓိအပိုင်းတွေကိုကျွန်တော်နည်းနည်းမဟုတ်ဘူး....များများမသိဘူဖြစ်နေတယ်ဗျ....ကိုwilly ဖြစ်ဖြစ်..ကိုAdam ဖြစ်ဖြစ်နည်းနည်းလောက်ရှင်းပြပါလားခင်ဗျာ.....


    haha ... dun pull my legs :) i think u r crazy in PHP and Open Source/Technology ...
  • edited May 2009 Registered Users
    ဟီးဟီး so good ...စတာနော်....
  • edited May 2009 Registered Users
    ဒါကတော့ ကျွန်တော်တို့ page အတွက် HTML သက်သက်ပါ

    <html>
    <head>
    <title>My First ASP.NET Page</title>
    </head>
    <body>
    <p>Hello there!</p>
    <p>The time is now: </p>
    </body>
    </html>

    ကျွန်တော်တို့တွေ page ရဲ့ dynamic element တွေကို ဖန်တီးမယ့် ASP.NET code အချို့ကို ထပ်ပေါင်းထည့်ကြည့်ရအောင်

    <html>
    <head>
    <title>My First ASP.NET Page</title>
    </head>
    <body>
    <p>Hello there!</p>
    <p>The time is now: <asp:Label runat="server" id="lblTime" /></p>
    </body>
    </html>

    ကျွန်တော်တို့ဟာ <asp:Label> tag တစ်ခုကို document ထဲသို့ ထပ်ပေါင်းထည့်ပြီးသွားပါပြီ
    ဒါဟာ page ထဲသို့ dynamic content တစ်ခုကို ထည့်သွင်းလို့ရစေမယ့် special tag တစ်ခုဖြစ်ပါတယ်
    tag name ရဲ့တစိတ်တဒေသဖြစ်တဲ့ asp: ဆိုတဲ့အပိုင်းဟာ သူဟာ built-in ASP.NET tag တစ်ခုဖြစ်ကြောင်းကို အမျိုးအစားခွဲခြားပြထားပါတယ်
    ASP.NET မှာ built-in tags တွေအများကြီးပါရှိပါတယ်၊ <asp:Label> ကတော့ အရိုးရှင်းဆုံး တစ်ခုဖြစ်နိုင်ပါတယ်
    runat="server" attribute က server ပေါ်မှာ control လုပ်ရန်လိုအပ်သော တစုံတခုအဖြစ် ဒီ tag ကို အမျိုးအစားခွဲခြားပြထားပါတယ်

    တခြားတစ်နည်းနဲ့ပြောမယ်ဆိုရင် Web browser သည် <asp:Label> tag ကိုဘယ်တော့မှမမြင်ပါဘူး၊ ASP.NET ကဒီ <asp:Label> tag ကိုမြင်ပါတယ်၊ ပြီးတော့ page ကို browser ဆီသို့မပို့ခင်မှာ ဒီ tag ကို သာမန် HTML tag တစ်ခုအဖြစ်သို့ ပြောင်းလဲပစ်လိုက်ပါတယ်

    ဒီ tag နှင့် လက်ရှိအချိန်ကို replace လုပ်ပေးရန် ASP.NET ကို ပြောပြတဲ့ code တွေကို ကျွန်တော်တို့ရေးနိုင်ပါတယ်

    ဤသို့ပြုလုပ်ရန် ကျွန်တော်တို့ဟာ ကျွန်တော်တို့ရဲ့ page ထဲကို script အချို့ထပ်ပေါင်းထည့်ရပါလိမ့်မယ်

    အရင်က ASP လိုမျိုးပဲ ASP.NET ဟာ သင့်ကို script တွေသုံးရန် language အမျိုးမျိုးကို ရွေးချယ်ခွင့်ပေးထားပါတယ်

    အသုံးအများဆုံး language နှစ်ခုကတော့ Visual Basic.NET (VB.NET) နှင့် C# တို့ပဲဖြစ်ပါတယ်

    language နှစ်ခုလုံးကိုသုံးထားတဲ့ ဥပမာတွေကို ကြည့်လိုက်ကြရအောင်၊ ဒီဟာကတော့ VB.NET ဖြင့်ရေးထားတဲ့ page version ပါ
    VB.NET File: FirstPage.aspx
    <html>
    <head>
    <title>My First ASP.NET Page</title>
    <script runat="server" language="VB">
    Sub Page_Load(s As Object, e As EventArgs)
    lblTime.Text = DateTime.Now.ToString()
    End Sub
    </script>
    </head>
    <body>
    <p>Hello there!</p>
    <p>The time is now: <asp:Label runat="server" id="lblTime" /></p>
    </body>
    </html>

    ဒါကတော့ C# နဲ့ရေးထားတဲ့ same page ပါ
    C# File: FirstPage.aspx
    <html>
    <head>
    <title>My First ASP.NET Page</title>
    <script runat="server" language="C#">
    protected void Page_Load(Object s, EventArgs e)
    {
    lblTime.Text = DateTime.Now.ToString();
    }
    </script>
    </head>
    <body>
    <p>Hello there!</p>
    <p>The time is now: <asp:Label runat="server" id="lblTime" /></p>
    </body>
    </html>

    page version နှစ်မျိုးလုံးဟာ ရလဒ်တစ်ခုထဲကိုပဲ အတိအကျပေးမှာပါ

    တကယ်လို့သင်ဟာ ယခင်က မည်သည့် server-side programming မျိုးကိုမှ မလုပ်ခဲ့ဘူးဆိုရင် စစချင်းတော့ ဒါဟာအနည်းငယ်ရင်ထိတ်စရာကောင်းတယ်လို့ ထင်ရပါမယ်

    ဒီ page ထဲက new elements တွေကို ခွဲထုတ်ကြည့်ရအောင်
    <script runat="server">
    ဒီ tag ကို code declaration block တစ်ခုအဖြစ်လည်း သိကြပါသေးတယ်၊ သူက server-
    side code ရဲ့အစဖြစ်တယ်ဆိုတဲ့ အမှတ်အသားဖြစ်ပါတယ်

    <asp:Label> tag လိုမျိုးပဲ runat="server" attribute ကိုသုံးတဲ့ ဒီ <script> tag ဟာ
    page ကို browser ဆီသို့မပို့ခင်မှာ ကိုင်တွယ်ဆောင်ရွက်သင့်ပါတယ်လို့ ASP.NET ကိုအသိပေးပါတယ်
    VB.NET File: FirstPage.aspx (excerpt)

    Sub Page_Load (s As Object, e As EventArgs)
    C# File: FirstPage.aspx (excerpt)

    protected void Page_Load (Object s, EventArgs s)
    {

    ဒီနေရာမှာ ကျွန်တော်သိပ်အသေးစိတ်ကျကျမသွားတော့ပါဘူး

    ယခုအထိသင်သိဖို့လိုသမျှကတော့ သင်ဟာ event အမျိုးမျိုးကို တုံ့ပြန်အောင် run စေမယ့် script fragment များကိုရေးသားနိုင်ပါတယ်ဆိုတာပါပဲ၊ ဥပမာ button တစ်ခုကို click လုပ်လိုက်ရင် တစ်ခုသော event ကို run စေမယ့် script fragment မျိုး၊ ဒါမှမဟုတ် drop-down list တစ်ခုမှ item တစ်ခုကို select လုပ်လိုက်ရင် တစ်ခုသော event ကို run စေမယ့် script fragment မျိုးကို သင်ရေးနိုင်တယ်ဆိုတာလောက်သိထားရင် ယခုအတွက် လုံလောက်ပါပြီ

    ပထမဆုံးလိုင်းကဘာပြောသလဲဆိုရင် page ကို load လုပ်လိုက်တဲ့အချိန်မှာ အောက်ပါ script များကို execute လုပ်ပါတဲ့

    C# ဟာ code တွေကို block တွေအဖြစ် curly brace တွေနဲ့ group ဖွဲ့လိုက်စဉ်မှာ Visual Basic က sequence တစ်ခုရဲ့ အဆုံးသတ်ကို မှတ်သားရန် End Sub လိုမျိုး statement ကိုသုံးရန်ရည်ရွယ်တယ်ဆိုတာကို သတိပြုပါ
    ထို့ကြောင့် C# code မှ အထက်ပါ { ဆိုသော curly brace သည် page ကို ပထမဆုံးအကြိမ် load လုပ်လိုက်စဉ်မှာ execute လုပ်မယ့် script ၏အစဖြစ်ပါတယ်ဆိုတာကို အမှတ်အသားပြုပါတယ်

    ကျွန်တော်တို့ခုလေးတင်မြင်ခဲ့ရတဲ့ code တွေဟာ page load event handler တစ်ခုအတွက် method definition ပဲဖြစ်ပါတယ်၊ ဒီ code တွေဟာ page ကို ပထမဆုံးအကြိမ် request လုပ်လိုက်တဲ့အချိန်မှာ server က run ဖို့မရှိမဖြစ်လိုတဲ့ အခြေခံ code တွေပဲဖြစ်ပါတယ်

    နောက်ဆုံးတော့ page ပေါ်မှာ အချိန်ကို display တကယ်လုပ်ပြမယ့် line ဟာ ဒီမှာပါ
    VB.NET File: FirstPage.aspx (excerpt)

    lblTime.Text = DateTime.Now.ToString()
    C# File: FirstPage.aspx (excerpt)

    lblTime.Text = DateTime.Now.ToString();

    သင်ဟာ ဒီ .NET language နှစ်ခုဟာ ဘယ်လောက်ဆင်တူနေကြသလဲဲ ဆိုတာကိုမြင်နိုင်ပါတယ်၊ ဘာလို့လဲဆို ဒီနှစ်ခုစလုံးဟာ .NET Framework ပေါ်မှာ အတူတကွ တည်ဆောက်ထားလို့ပါပဲ

    တကယ်တော့ ကွဲပြားခြားနားမှုကတစ်ခုတည်းပါပဲ၊ C# ဟာ code lines တွေကို semicolon (;) ဖြင့်အဆုံးသတ်ထားပါတယ်

    ဒီလိုင်းဟာဘာကိုဆိုလိုချင်တာလဲဆိုတာကို ရိုးရိုးလေးပြောရရင်တော့ lblTime ၏ Text property ကို လက်ရှိနေ့စွဲ၊ အချိန်ကို် string of text အဖြစ်ဖော်ပြပြီးထားလိုက်ပါတဲ့

    lblTime ဟာ အချိန်ကိုပြသရန် <asp:Label> tag ရဲ့ id attribute အတွက် ကျွန်တော်တို့ပေးခဲ့တဲ့ value ဖြစ်တယ်ဆိုတာကို သတိပြုပါ

    ထို့ကြောင့် lblTime ၏ Text property ဖြစ်သော lblTime.Text ဆိုတာ tag က display လုပ်ပြမယ့် text လို့ရည်ညွှန်းပါတယ်

    DateTime ဆိုတာ .NET Framework ရဲ့ built-in class တစ်ခုဖြစ်ပါတယ်၊ ဒီ class က သင့်ကို date တွေ time တွေဖြင့် အသုံးတည့်သော functions အမျိုးမျိုးကို ဆောင်ရွက်ခွင့် ပေးထားပါတယ်

    အသုံး၀င်တဲ့အရာအမျိုးမျိုးကို ဆောင်ရွက်ရန် .NET Framework အတွင်းမှာ ဒီလို class ပေါင်းများစွာရှိပါတယ်

    ဒီ class တွေကို .NET Framework Class Library လို့အသိများကြပါတယ်
    VB.NET

    Public Sub mySubName(s As Object, e As EventArgs)
    ' Write your code here
    End Sub
    C#

    public void mySubName(Object s, EventArgs e) {
    // Write your code here
    }

    ပုံမှန် subroutine တစ်ခုဖြစ်အောင် ဖွဲ့စည်းထားတဲ့ component တွေအားလုံးကို ခွဲခြမ်းစိတ်ဖြာကြည့်ရအောင်

    Public , public
    subroutine ရဲ့ range ကို define လုပ်ပါတယ်၊ Public အဖြစ်အများဆုံးသုံးမလား၊ Private အဖြစ်အများဆုံးသုံးမလားဆိုတာကို ရွေးချယ်ဖို့ အခွင့်အလမ်းတွေအမျိုးမျိုးရှိပါတယ်၊ Public subroutine ဆိုရင်တော့ page တစ်ခုလုံးမှာ မည်သည့်နေရာမှမဆို လှမ်းအသုံးပြုနိုင်တဲ့ global subroutine တစ်ခုဖြစ်ပါတယ်၊ Private subroutine တွေဆိုရင်တော့ တစ်ခုသော class အတွက်သာ အသုံးပြုနိုင်တဲ့ subroutine တွေဖြစ်ပါတယ်
    တကယ်လို့ သင်ဟာဘာကွဲပြားမှုရှိသလဲဆိုတာကို အခုထိနားမလည်သေးဘူးဆိုရင်တော့ your best bet is to stick with Public for now တဲ့ အီးဟီး ဘယ်လိုဘာသာပြန်ရမလဲမသိတော့ဘူး၊ လုပ်ကြပါဦးဗျို့

    Sub , void
    code တွေအများကြီးကိုစုစည်းပြီး subroutine တစ်ခုအဖြစ် define လုပ်ပါတယ်၊ subroutine ဆိုတာ အမည်တစ်ခုရှိတဲ့ code block တစ်ခုဖြစ်ပါတယ်၊ result တစ်ခုခုကို return မပြန်ပါဘူး၊ ထို့ကြောင့် C# မှာ ကျွန်တော်တို့ဟာ void ဆိုတဲ့ keyword ကိုသုံးထားပါတယ်၊ ဆိုလိုချက်ကတော့ အတူတူပါပဲ၊ ဒါကို VB.NET မှာတော့ သွားသုံးဖို့မလိုပါဘူး၊ ဘာလို့လဲဆိုရင် Sub ဆိုတဲ့ keyword ဟာ ဘာ value မှ return မပြန်ပါဘူးလို့ ဆိုလိုလို့ပါပဲ

    mySubName(…)
    ဒီအစိတ်အပိုင်းကတော့ subroutine အတွက် ကျွန်တော်တို့ ရွေးချယ်လိုက်တဲ့ အမည်တစ်ခုပါ

    s As Object , Object s
    ကျွန်တော်တို့တွေ subroutine ကို ရေးသားတဲ့အချိန်မှာ ဒီ subroutine ဟာ event handler အဖြစ်ဆောင်ရွက်ပါလိမ့်မယ်၊ သူဟာ parameter နှစ်ခုကို လက်ခံပါလိမ့်မယ်၊ ပထမ parameter ကတော့ event ကို တွက်ထုတ်မယ့် control ပါ၊ ဒါဟာ Object ပေါ့၊ ဒီနေရာမှာ ကျွန်တော်တို့ဟာ Object ကို s လို့အမည်ရတဲ့ variable တစ်လုံး အဖြစ် ထားပါတယ်၊ အဲဒီနောက်မှာ ကျွန်တော်တို့တွေဟာ အဲဒီ variable ကိုသုံးထားတဲ့ ကျွန်တော်တို့ရဲ့ subroutine မှ တစ်ခုသော control ရဲ့ feature တွေ၊ settingတွေကို ရယူသုံးစွဲနိုင်ပါလိမ့်မယ်
    ဥပမာ၊ button object တစ်ခုကိုသုံးထားခဲ့ရင် အဲဒီ button object ရဲ့ information ကို event ဆီသို့ parameter အဖြစ်လှမ်းပို့လိုက်တာပါ

    e As EventArgs , EventArgs e
    ဒုတိယ parameter မှာ ကျွန်တော်တို့ produce လုပ်လိုက်တဲ့ event အတွက်တိကျသော information တွေပါ၀င်ပါတယ်

    ဒီနေ့ညထပ်ဖတ်ခဲ့ပါမယ်ဗျာ

    ASP.NET မှာ Code Behind ကို client ဘက်အတွက်ခြမ်းမှာ VBScript နဲ့ရေးလို့ရပါတယ်၊ Server ဘက်အခြမ်းမှာတော့ ကျွန်တော်တို့က C# သုံးပါတယ်၊ script တွေဒီဘက်အခြမ်းမှာမသုံးဘူးခင်ဗျ
    Life Cycle 9 ခုကိုတော့ ကျွန်တော်မသိဘူးခင်ဗျ ဆောရီးပါ
    Database နဲ့ချိတ်ရင် ADO.NET ကော သုံးပါတယ်၊ ခုသင်တန်းမှာတော့ မသင်ရသေးဘူးခင်ဗျ

    ;DELETE * FROM (Table Name ) ဆိုတာမျိုးရိုက်ထည့်လိုက်ရင်
    ;; နှစ်ခုဖြစ်အောင် လုပ်ပစ်လိုက်တဲ့အတွက် SQL Injection လုပ်လို့မရပါဘူးတဲ့
    ကျွန်တော်က စလုံးရေစတုန်းမို့လို့ ကျွန်တော့် reply က မပြည့်စုံရင်လညး်ခွင့်လွှတ်ကြပါဗျာ
    ကျွန်တော်ကြိုးစားဖတ်ရှုဆဲ၊ လေ့လာနေဆဲမို့ပါ
    ပိုမိုပြည့်စုံစွာရှင်းပြနိုင်မယ့်အစ်ကိုအစ်မများရှိခဲ့ရင်လည်း ကူညီကြပါလို့ :)
    အမှားအယွင်းလေးများပါ၀င်ခဲ့ရင်လည်းနားလည်ပေးကြပါခင်ဗျာ
  • edited May 2009 Registered Users
    Adam wrote: »

    s as object , object s
    ကျွန်တော်တို့တွေ subroutine ကို ရေးသားတဲ့အချိန်မှာ ဒီ subroutine ဟာ event handler အဖြစ်ဆောင်ရွက်ပါလိမ့်မယ်၊ သူဟာ parameter နှစ်ခုကို လက်ခံပါလိမ့်မယ်၊ ပထမ parameter ကတော့ event ကို တွက်ထုတ်မယ့် control ပါ၊ ဒါဟာ object ပေါ့၊ ဒီနေရာမှာ ကျွန်တော်တို့ဟာ object ကို s လို့အမည်ရတဲ့ variable တစ်လုံး အဖြစ် ထားပါတယ်၊ အဲဒီနောက်မှာ ကျွန်တော်တို့တွေဟာ အဲဒီ variable ကိုသုံးထားတဲ့ ကျွန်တော်တို့ရဲ့ subroutine မှ တစ်ခုသော control ရဲ့ feature တွေ၊ settingတွေကို ရယူသုံးစွဲနိုင်ပါလိမ့်မယ်
    ဥပမာ၊ button object တစ်ခုကိုသုံးထားခဲ့ရင် အဲဒီ button object ရဲ့ information ကို event ဆီသို့ parameter အဖြစ်လှမ်းပို့လိုက်တာပါ

    e as eventargs , eventargs e
    ဒုတိယ parameter မှာ ကျွန်တော်တို့ produce လုပ်လိုက်တဲ့ event အတွက်တိကျသော information တွေပါ၀င်ပါတယ်

    ဒီနေ့ညထပ်ဖတ်ခဲ့ပါမယ်ဗျာ

    asp.net မှာ code behind ကို client ဘက်အတွက်ခြမ်းမှာ vbscript နဲ့ရေးလို့ရပါတယ်၊ server ဘက်အခြမ်းမှာတော့ ကျွန်တော်တို့က c# သုံးပါတယ်၊ script တွေဒီဘက်အခြမ်းမှာမသုံးဘူးခင်ဗျ
    life cycle 9 ခုကိုတော့ ကျွန်တော်မသိဘူးခင်ဗျ ဆောရီးပါ
    database နဲ့ချိတ်ရင် ado.net ကော သုံးပါတယ်၊ ခုသင်တန်းမှာတော့ မသင်ရသေးဘူးခင်ဗျ

    ;delete * from (table name ) ဆိုတာမျိုးရိုက်ထည့်လိုက်ရင်
    ;; နှစ်ခုဖြစ်အောင် လုပ်ပစ်လိုက်တဲ့အတွက် sql injection လုပ်လို့မရပါဘူးတဲ့
    ကျွန်တော်က စလုံးရေစတုန်းမို့လို့ ကျွန်တော့် reply က မပြည့်စုံရင်လညး်ခွင့်လွှတ်ကြပါဗျာ
    ကျွန်တော်ကြိုးစားဖတ်ရှုဆဲ၊ လေ့လာနေဆဲမို့ပါ
    ပိုမိုပြည့်စုံစွာရှင်းပြနိုင်မယ့်အစ်ကိုအစ်မများရှိခဲ့ရင်လည်း ကူညီကြပါလို့ :)
    အမှားအယွင်းလေးများပါ၀င်ခဲ့ရင်လည်းနားလည်ပေးကြပါခင်ဗျာ


    ကျေးဇူးပါ ...:)
  • edited May 2009 Registered Users
    :))
    သေရော
    ပို့စ်တ်တင်မယ်လို့အားခဲပြီးလာတာ
    ဖိုင်ကအိမ်မှာကျန်ခဲ့တယ်:14::14:
  • edited August 2009 Registered Users
    ကို adam ရေ တော်တော်လေးကောင်းတဲ့ပို့စ်ပါ . . .
    စတင်လေ.လာနေသုုူတွေအတွက်တော်တော်ကောင်းပါတယ်-သင်တန်းပဲတက်ပြီးအလုပ်တွေ.ကြ့ုံမရှိသေးတဲ.အတွက်-နောက်လည်းမများကြီးရေးပါလို.-ကျေးဇူးတင်ပါတယ်
  • edited August 2009 Registered Users
    willy wrote: »
    အကိုရေ ..တဆိတ်လောက် .. (Source As Object ? , e As EventArgs ? ) ဆိုတာ ..ASP မှာ Parameter တွေအဖြစ်သုံးလားခင်ဗျာ ..ဘာအတွက်သုံးတာလဲ??


    ASP မှာ ..Code Behind ကို VBScript နဲ့ ရေးတာလားခင်ဗျာ .. ??? Life Cycle 9 ခု သုံးလား ?? ပြီးတော့ Database နဲ့ ချိတ်ရင် .. ADO.Net ကောသုံးလားခင်ဗျာ ..

    နောက်တခုက .. ဥပမာ ..E-Commerce System တခုမှာ .. User က Name Text Box တို့ ဘာတို့မှာ .. SQL Injection ခေါ်မလား , SQL Query Statement အဖြစ် ;DELETE * FROM (Table Name ) ကိုရိုက်ထဲ့လိုက်ရင် .. Protect လုပ်ဖို့ ဘယ်လို code ကို အသုံးပြုပါလဲခင်ဗျာ ၊၊၊??

    ကြားဖူးတာလေးတွေသိချင်လို့ပါ ..အမှားပါရင်ခွင့်လွှတ်ပါ ..
    ကျေးဇူးပါ ..
    ကျွန်တော်လဲ သိပ်တော့ မသိဘူးဗျ..။ သိသလောက်လေး ၀င်ပြောကြည့်မယ်..။ :D အစ်ကိုပြောတဲ့ အပေါ်က နှစ်ခုကိုတော့ မသိရိုးအမှန်ပါ..။ ဒါပေမယ့် User က Name Text Box မှာ Delete * from table name ကို ရိုက်ထည့်ရုံနဲ့တော့ ဒေတာတွေ မပျက်နိုင်ဘူးထင်တယ်.. ကျွန်တော်တို့ ဒေတာကို insert လုပ်လိုက်ရင် သူက insert into အနေနဲ့ပဲ သွားတဲ့အတွက် သူရိုက်ထည့်လိုက်တဲ့ delete from table name က name ဆိုတဲ့ အကွက်ထဲသာ ၀င်သွားပါလိမ့်မယ်..။ ကျွန်တော်တို့က ပြန်ထုတ်ပေးရင်လည်း select ... ဆိုပြီးတော့သာ ထုတ်တဲ့အတွက် select.. delete နှစ်ခု ဆင့်ရင် အလုပ်မလုပ်တာကို တွေ့ရပါတယ်.. ဒါကြောင့် မဖြစ်နိုင်ဘူးလို့ ပြောတာပါ.. ကျွန်တော်လည်း သိပ်မသိသေးတဲ့အတွက် မှားနိုင်ပါတယ်.. မှားနေရင် ပြန်ပြင်ပေးကြပါ..။ ပြီးတော့ ကို adam ရေ.. asp.net က inetpub မှာတော့ မ run ဘူးဗျ..။ visual studio 2005 ရှိရင်တော့ ပေးကြပါလို့.. သုံးနည်းလေးပါ ပြောပြစေချင်ပါတယ်.။ အင်စတောက အစပေါ့..။ asp.net ရေးလို့ရအောင်လို့..။ အနော်က asp လေးပဲ တတ်ထားတာပါ..။ ဒါကြောင့် ပြောပြပေးကြပါ.။ ပြီးတော့ different between asp and asp.net ကတော့ asp.net က OOP ကို လက်ခံကျင့်သုံးခြင်းပါပဲ.. ပိုအဆင့်မြင့်လာတာပေါ့ဗျာ..:D
  • edited September 2009 Registered Users
    အက်ဒမ်
    ဘယ်ရောက်လို့ဘယ်ပေါက်နေတုန်း
    ဆက်လဲမရေးဘူး
    ဒီမှာစောင့်နေတယ်ဗျ
Sign In or Register to comment.