Lp trình và Thit k Web 2 Bà i 3 Bà i 3 SS kinkin trongtrong ASP.NETASP.NET SS kinkin trongtrong ASP.NETASP.NET Ths Trn Th Bích Hnh Ths . Trn Th Bích Hnh Khoa CNTT Khoa CNTT –– H.KHTNH.KHTN © 2009 Khoa Công ngh thông tin LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET NidNid Ni d ung Ni d ung Gii thiu v Event Gii thiu v Event Các s kin chính trong chu trình sng ca ng dng web Cá ki Aliti &S i – Cá cs ki nc a A pp li ca ti on & S ess i on – Các s kinca WebForm – Các s kinca ServerControl © 2009 Khoa CNTT - HKHTN 2 Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET NidNid Ni d ung Ni d ung Gii thiu v Event Gii thiu v Event Các s kin chính trong chu trình sng ca ng dng web Cá ki Aliti &S i – Cá cs ki nc a A pp li ca ti on & S ess i on – Các s kinca WebForm – Các s kinca ServerControl © 2009 Khoa CNTT - HKHTN 3 LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET ASP NET E t M d lASP NET E t M d l ASP . NET E ven t M o d e lASP . NET E ven t M o d e l ng dng web ASP .NET s dng mô hình lp trình ng dng web ASP .NET s dng mô hình lp trình hng s kin – Event: Click , Load… , – Event Handler: Phng thcx lý khi có s kinxyra protected void Page_Load(object sender, EventArgs e) { … } © 2009 Khoa CNTT - HKHTN 4 Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET CC SS C lient C lient based event system vs. A S P.NET event systembased event system vs. A S P.NET event system © 2009 Khoa CNTT - HKHTN 5 LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET CC SS C lient C lient based event system vs. A S P.NET event systembased event system vs. A S P.NET event system © 2009 Khoa CNTT - HKHTN 6 Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET PtPt bkbk P os tP os t b ac kb ac k © 2009 Khoa CNTT - HKHTN 7 LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET CPCP PtPt bkbk C ross P age C ross P age P os tP os t b ac kb ac k // Default.aspx Name <asp:TextBox ID=“txtName" runat="server“ /> <asp:Button ID="Button2" runat="server" PostBackUrl =" /Target aspx" Text "Click" /> PostBackUrl =" ~ /Target . aspx" Text = "Click" /> // Target.aspx.cs if (this.PreviousPage.IsCrossPagePostBack) { TtB tt T ex tB ox t x t = (TextBox)Page.PreviousPage.FindControl(“txtName") ; Response.Write("Hello " + txt.Text); } © 2009 Khoa CNTT - HKHTN 8 } Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET Vi St tVi St t Vi ew St a t e Vi ew St a t e Lu thông tin trng thái các control trên trang web Lu thông tin trng thái các control trên trang web c mã hóa và nhúng trong trang web didng n Khi trang web đc postback li server, A SP.Net s phc hilicáctrng thái ca control trc đó& cpnht nhng thay đi nhng thay đi Sau đógi các hàm x lý s kinca Page & Control <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJODExMDE5NzY5D2QWAgIDD2QWAgIBDw8WAh4EVGV4dAUK MDgvMDE vMjAwNmRkZDZPhFHJER4chf3nmlgfL+uq4W58" /> © 2009 Khoa CNTT - HKHTN 9 LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET NidNid Ni d ung Ni d ung Gii thiu v Event Gii thiu v Event Các s kin chính trong chu trình sng ca ng dng web Cá ki Aliti &S i – Cá cs ki nc a A pp li ca ti on & S ess i on – Các s kinca WebForm – Các s kinca ServerControl © 2009 Khoa CNTT - HKHTN 10 Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET Cá T ti t t d WbCá T ti t t d Wb Cá c T p ti n t rong m t ng d ng W e bCá c T p ti n t rong m t ng d ng W e b Khi biên dch mt ng dng Web: Khi biên dch mt ng dng Web: – Web.config + Global.asax + Style.css – Visual Studio .NET biên dch ttc mã ngun vào mt file .DLL lu Visual Studio .NET biên dch tt c mã ngun vào mt file .DLL lu trong th mc ~/bin – Phn giao din ca ng dng nm các file .aspx và .html © 2009 Khoa CNTT - HKHTN 11 LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET Cá E t t h t ì h d WbCá E t t h t ì h d Wb Cá c E ven t t rong c h u t r ì n h s ng c a ng d ng W e b Cá c E ven t t rong c h u t r ì n h s ng c a ng d ng W e b Bt đumt chu trình sng ca ng dng Web Bt đu mt chu trình sng ca ng dng Web – Bt đu khi mt trình duyt yêu cu 1 trang web ca ng dng, gilà Session dng, gi là Session – ng dng web vn chy nu nh nó vn còn Session đang hot đng đang hot đng – Chu trình sng ca 1 Web Form trên server ch tn ti trong 1 khong thigianngn trong 1 khong thi gian ngn © 2009 Khoa CNTT - HKHTN 12 Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET Cá E t t h t ì h d WbCá E t t h t ì h d Wb Cá c E ven t t rong c h u t r ì n h s ng c a ng d ng W e b Cá c E ven t t rong c h u t r ì n h s ng c a ng d ng W e b Chu trình sng tiptc Chu trình sng tip tc – Ngi dùng tng tác vigiaodinweb(gõvàotext box, đánh du chn các check box … ) cho đn khi kích box, đánh du chn các check box … ) cho đn khi kích hotmts kin post-back (nhn button …) – D liu ca trang ( view state ) đc gi v cho server D liu ca trang ( view state ) đc gi v cho server – Khi server nhn đc view state Nó to ra th hin mi ca Web Form • Nó to ra th hin mi ca Web Form • ind liuvàoview state • X lý các s kin xy ra X lý các s kin xy ra • Tr ktqu HTML v cho trình duytvàhyth hincaWeb Form © 2009 Khoa CNTT - HKHTN 13 LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET Cá E t t h t ì h d WbCá E t t h t ì h d Wb Cá c E ven t t rong c h u t r ì n h s ng c a ng d ng W e b Cá c E ven t t rong c h u t r ì n h s ng c a ng d ng W e b Chu trình sng tiptc Chu trình sng tip tc © 2009 Khoa CNTT - HKHTN 14 Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET Cá E t t h t ì h d WbCá E t t h t ì h d Wb Cá c E ven t t rong c h u t r ì n h s ng c a ng d ng W e b Cá c E ven t t rong c h u t r ì n h s ng c a ng d ng W e b Chu trình sng kt thúc Chu trình sng kt thúc – Khi ngi dùng tt trình duyt, hocsaumtkhong thigian timeout không refesh li trang web thì Session cakt thúc – Nu không còn Session nào t các ngi dùng ca ng dng web thì ng dng web s kt thúc © 2009 Khoa CNTT - HKHTN 15 LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET NidNid Ni d ung Ni d ung Gii thiu v Event Gii thiu v Event Các s kin chính trong chu trình sng ca ng dng web Cá ki Aliti &S i – Cá cs ki nc a A pp li ca ti on & S ess i on – Các s kinca WebForm – Các s kinca ServerControl © 2009 Khoa CNTT - HKHTN 16 Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET S ki Aliti àS iS ki Aliti àS i S ki n A pp li ca ti on v à S ess i on S ki n A pp li ca ti on v à S ess i on Tên s ki nX y ra khi y Application_Start Ngi dùng đu tiên ghé thm 1 trang web trong ng dng web Application_End Không còn ngi dùng nào đang m trang web ca ng dng Application_Error Khi có li xy ra trong ng dng Session Start Mtngi dùng mi ghé thm 1 trang web ca ng Session _ Start Mt ngi dùng mi ghé thm 1 trang web ca ng dng Session End Ngi dùng đóng trình duythocsaumtkhong Session _ End Ngi dùng đóng trình duyt hoc sau mt khong thi gian time out không request lên ng dng © 2009 Khoa CNTT - HKHTN 17 LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET NidNid Ni d ung Ni d ung Gii thiu v Event Gii thiu v Event Các s kin chính trong chu trình sng ca ng dng web Cá ki Aliti &S i – Cá cs ki nc a A pp li ca ti on & S ess i on – Các s kinca WebForm – Các s kinca ServerControl © 2009 Khoa CNTT - HKHTN 18 Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET PEtPEt P age E ven tP age E ven t Tên s kinXyrakhi PIi Cá l đ à khi i P age_ I n i t Cá c server contro l đ cnpv à khi to trong v i ew state ca web form. Pa g e Load Các server control đ cn p lên đit n g Pa g e. T i g _ p g g thi đim này thông tin ca View state đãcóth s dng đc, do đó đây là lúc bnvitmãlnh thay đi thitlpca control hochinth d liu lên trang. Page_DataBinding Server control trên trang đcgnktvi ngund liu. Page_PreRender Bt đu dàn trang cho đitng Page. Page_Unload itng Page đchykhib nh. Page_Error Khi có li không đcx lý xy ra trong trang. © 2009 Khoa CNTT - HKHTN 19 LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET © 2009 Khoa CNTT - HKHTN 20 Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET PIitPIit P age_ I n itP age_ I n it © 2009 Khoa CNTT - HKHTN 21 LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET PLdPLd P age_ L oa dP age_ L oa d © 2009 Khoa CNTT - HKHTN 22 Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET PPRdPPRd P age_ P re R en d e rP age_ P re R en d e r © 2009 Khoa CNTT - HKHTN 23 LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET NidNid Ni d ung Ni d ung Gii thiu v Event Gii thiu v Event Các s kin chính trong chu trình sng ca ng dng web Cá ki Aliti &S i – Cá cs ki nc a A pp li ca ti on & S ess i on – Các s kinca WebForm – Các s kinca ServerControl © 2009 Khoa CNTT - HKHTN 24 Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET CáCá kiki SCtlSCtl Cá c Cá css ki n ki nc ac a S erver C on t ro lS erver C on t ro l Post - back event Post back event – Gi trang web hin hành đn trang web đc qui đnh bi thu c tính PostBackUrl đ server x l ý ý – Mc đnh giv chính trang web hin hành ASP.NET Server Controls – Button, Link Button, Image Button – TextBox, DropDownList, ListBox, RadioButton, CheckBox – Có th thitlps kin Post-back cho các control này bng cách gán thuc tính AutoPostBack=True © 2009 Khoa CNTT - HKHTN 25 LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET CáCá kiki SCtlSCtl Cá c Cá css ki n ki nc ac a S erver C on t ro lS erver C on t ro l Validation event Validation event – X lý kimtrad liu trên trang trckhigiv cho server – Validation server control – Validation server control © 2009 Khoa CNTT - HKHTN 26 Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET TT ktkt T ng T ng ktkt Client - based vs. ASP.Net Event system Client based vs. ASP.Net Event system Postback Event ViewState Application & Session Events Page Events CtlE t C on t ro l E ven t s © 2009 Khoa CNTT - HKHTN 27 . CNTT - HKHTN 3 LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP. NET ASP NET E t M d lASP NET E t M d l ASP . NET E ven t M o d e lASP . NET E ven t M o d e l ng dng web ASP .NET s dng mô hình lp trình ng dng web . Lp trình và Thit k Web 2 Bà i 3 Bà i 3 SS kinkin trongtrong ASP. NETASP .NET SS kinkin trongtrong ASP. NETASP .NET Ths Trn Th Bích Hnh Ths . Trn Th Bích Hnh Khoa CNTT Khoa. xy ra trong trang. © 2009 Khoa CNTT - HKHTN 19 LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP. NET © 2009 Khoa CNTT - HKHTN 20 Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP. NET PIitPIit P age_ I n itP age_ I n it ©