2

940
-1

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
940
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
23
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

2

  1. 1. Б.Батням
  2. 2. Ойлголтууд <ul><li>Web Form -ийн тухай </li></ul><ul><ul><li>Контролд тулгуурласан програмчлалын загвар </li></ul></ul><ul><li>Server side контрол </li></ul><ul><li>– Html controls </li></ul><ul><li>– Web controls </li></ul><ul><li>Web form үүсгэх хэрэгсэл </li></ul><ul><li>– Visual Studio .NET </li></ul>
  3. 3. Контролд тулгуурласан програмчлал <ul><li>Контролд тулгуурласан програмчлал нь энгийн програмчлалтай нэгэн ижил ойлголт </li></ul><ul><ul><li>Десктоп програм хангамжийн сангууд контролд тулгуурласан програмчлалд ашиглагддаг </li></ul></ul><ul><li>Програмчлал </li></ul><ul><ul><li>Програм нь контролуудын цуглуулгаас тогтоно </li></ul></ul><ul><ul><li>Контрол бүр нь өөр өөрийн үүрэгтэй </li></ul></ul><ul><ul><li>Хөгжүүлэгч контролуудын онцлогоос хамааран ашиглах боломжтой </li></ul></ul>
  4. 4. Контролуудаас
  5. 5. Веб програм хийх контролд тулгуурласан програмчлал <ul><li>ASP.NET технологи нь веб програм хөгжүүлэхэд контролд тулгуурласан програмчлалыг ашиглана </li></ul><ul><ul><li>Server-side обьектуудыг хуудас дээр үүсгэнэ </li></ul></ul><ul><ul><li>Server-side обьектууд нь HTML байдлаар харагдана </li></ul></ul><ul><ul><li>HTTP стандартын Request/Response архитектур дээр суурилна </li></ul></ul><ul><ul><li>Зарим десктоп програмын ойлголтуудыг агуулна </li></ul></ul>
  6. 6. Контролуудаас
  7. 7. Server-side контролууд <ul><li>Веб форм нь: </li></ul><ul><ul><li>Server-side с ервер дээр байрладаг бөгөөд хэрэглэгчид HTML байдлаар харагдана. </li></ul></ul><ul><ul><li>HTML -д runat=server б ичлэгийг ашиглан .aspx хуудас тодорхойлно </li></ul></ul><ul><ul><li>Server-side код нь ID ашиглан тодорхойлогддог </li></ul></ul><ul><ul><li>Контролууд нь Page классаас удамшсан өөрийн классд гишүүн өгөгдөл болж нэмэгддэг </li></ul></ul>
  8. 8. Жишээ хуудас <ul><li><%@ Page Language=&quot;C#&quot; %> </li></ul><ul><li><html> </li></ul><ul><ul><li><body> </li></ul></ul><ul><ul><ul><li><form runat=&quot;server&quot; > </li></ul></ul></ul><ul><ul><ul><ul><li>Enter name: <input type=&quot;text&quot; id=&quot;_name&quot; runat=&quot;server&quot; /> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><br/> </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Personality: <select id=&quot;_personality&quot; runat=&quot;server&quot; > </li></ul></ul></ul></ul><ul><ul><ul><ul><li><option>extraverted</option> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><option>introverted</option> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><option>in-between</option> </li></ul></ul></ul></ul><ul><ul><ul><ul><li></select> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><input type=&quot;submit&quot; value=&quot;Submit&quot; /> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><p> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><% if (IsPostBack) {%> </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Hi <%=_name.Value%>, you selected </li></ul></ul></ul></ul><ul><ul><ul><ul><li><%=_personality.Value%> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><% } %> </li></ul></ul></ul></ul><ul><ul><ul><ul><li></p> </li></ul></ul></ul></ul><ul><ul><ul><li></form> </li></ul></ul></ul><ul><ul><li></body> </li></ul></ul><ul><li></html> </li></ul>
  9. 9. Класс <ul><li>using System.Web.UI; </li></ul><ul><li>using System.Web.UI.HtmlControls; </li></ul><ul><li>using System.Web.UI.WebControls; </li></ul><ul><li>public class WebFormPage1_aspx : Page </li></ul><ul><li>{ </li></ul><ul><ul><li>protected HtmlInputText _name; </li></ul></ul><ul><ul><li>protected ListItem __control3; </li></ul></ul><ul><ul><li>protected ListItem __control4; </li></ul></ul><ul><ul><li>protected ListItem __control5; </li></ul></ul><ul><ul><li>protected HtmlSelect _personality; </li></ul></ul><ul><ul><li>protected HtmlForm __control2; </li></ul></ul><ul><ul><li>// ... </li></ul></ul><ul><li>} </li></ul>
  10. 10. Server-side control state management <ul><li>Server-side контролууд төлөвөө удирдах боломжтой </li></ul><ul><ul><li>GET request –ээр хуудас анхны утгаа авдаг (URL) </li></ul></ul><ul><ul><li>POST request –ээр POST body -д тодорхойлсон утгуудыг илгээнэ </li></ul></ul>
  11. 11. Төлөв
  12. 12. Server Control -ын үйл ажиллагаа <ul><li>POST request -үүд хийгдсэний хоорондох төлвүүд сервер контролд хадгалагдна. </li></ul><ul><ul><li>POST-back request -ийн төлвийг дахин иниц хийх шаардлагагүй </li></ul></ul><ul><ul><li>Cross-page POST request шаардлагагүй </li></ul></ul>
  13. 13. HtmlControl -үүд <ul><li>HtmlControl -үүд нь стандарт HTML элементүүдийн сервер талын илэрхийлэл </li></ul><ul><ul><li>ASPX хуудсанд runat=server гэж тодорхойлогдсон HTML элементүүд нь сервер дээрх HTML элемент юм </li></ul></ul><ul><ul><li>Бүх классууд нь HtmlControl классаас удамшина </li></ul></ul><ul><ul><li>HTML элементүүд нь дараах элементүүдийг оруулахгүйгээр (like div, span, etc.) HtmlGenericControl классын обьектууд байна. </li></ul></ul>
  14. 14. HTTPControl
  15. 15. Example - Page
  16. 16. WebControl -ууд <ul><li>WebControl -ууд нь HtmlControl -уудаас илүү хийсвэр, нийлмэл </li></ul><ul><ul><li>Ихэнх HTML элементүүд сервер дээр WebControl хэлбэрээр тодорхойлогддог </li></ul></ul><ul><ul><li>WebControl -ууд нь дээд түвшний контролуудыг оруулах боломжтой. (Calendar control зэрэг ) </li></ul></ul>
  17. 17. Web Controls
  18. 18. Web Controls
  19. 19. Хуудасны Lifecycle <ul><li>Хуудасны хүсэлтийн хариулт бүр нь обьект </li></ul><ul><ul><li>Хуудасны төлөв хүсэлтүүдийн хооронд хадгалагддаггүй </li></ul></ul><ul><li>Event -ууд Page классаар тодорхойлогддог </li></ul><ul><ul><li>Handler -уудыг code-behind классд тодорхойлдог </li></ul></ul><ul><ul><li>Event -ууд дараалан баригдна </li></ul></ul>
  20. 23. Server-side control state initialization <ul><li>Page классын load event -д контролын төлөв анхны утгаа авдаг. </li></ul><ul><li>// Common control interaction </li></ul><ul><li>if (!IsPostBack) </li></ul><ul><li>initialize control state </li></ul><ul><li>else </li></ul><ul><li>look at/process client-submitted state </li></ul>
  21. 25. Event -ууд <ul><li>Server-side контролууд server-side event -үүдийг үүсгэдэг </li></ul><ul><ul><li>standard CLR EventHandler delegates </li></ul></ul><ul><ul><li>Server-side контролын Event </li></ul></ul><ul><ul><ul><li>EventHandler delegate -ийн обьектийг байгуулна </li></ul></ul></ul><ul><ul><ul><li>Handler функцэд анхны утга олгоно </li></ul></ul></ul><ul><ul><li>Event -ийг </li></ul></ul><ul><ul><ul><li>Контрол тагийн On Event шинжид бичиж өгнө </li></ul></ul></ul>
  22. 28. Хуудасны Lifecycle -ийн Event -ууд <ul><li>Event- үүд Load event -ийн дараагаар үүснэ </li></ul><ul><li>Very common control interaction is: </li></ul><ul><ul><li>In Load event handler, initialize control state (when IsPostBack is False) </li></ul></ul><ul><ul><li>In server-side event handlers for controls (OnButtonClick...), process client-submitted state </li></ul></ul>
  23. 30. Хуудасны event дараалал <ul><li>Хуудасны event -ийн дараалал </li></ul><ul><ul><li>Хуудаснууд хүсэлтээр үүсгэгддэг, устдаг </li></ul></ul><ul><ul><li>Д аалгавруудыг хэзээ биелүүлэх нь event -ээс хамааран биелэгддэг. </li></ul></ul>
  24. 32. Web Form болон Code-behind <ul><li>Х уудасны логикоос хамааран сервер дээр код үүсдэг. </li></ul><ul><ul><li>Server-side контролууд code-behind классд тодорхойлогддог. </li></ul></ul>
  25. 35. Visual Studio .NET <ul><li>Visual Studio .NET Веб програмчлах боломжтой </li></ul><ul><ul><li>Төсөлдөө зориулан директор үүсгэнэ </li></ul></ul><ul><ul><li>/bin директорт төсөл ажиллуулсаны үр дүн үүснэ </li></ul></ul><ul><ul><li>Гэх. мэт. </li></ul></ul><ul><li>Стандарт ClassLibrary төсөл ASP.NET програмыг үүсгэхэд хэрэглэгдэнэ. </li></ul>
  26. 38. WebMatrix <ul><li>Microsoft –ийн үнэгүй ASP.NET хөгжүүлэх хэрэгсэл </li></ul><ul><ul><li>Өөрийн веб сервер дээр ажилладаг (IIS хэрэглэхгүйгээр ) </li></ul></ul><ul><ul><li>VS.NET -ийн зарим ойлголтууд багтсан </li></ul></ul><ul><li>Page designer, wizards, syntax highlighting, ... </li></ul><ul><li>Intellisense, Project creation, code-behind support, ... </li></ul><ul><li>Download from: </li></ul><ul><ul><li>http://www.asp.net/webmatrix </li></ul></ul>

×