240 likes | 464 Views
מבוא ל ASP.NET. מצגת מס' 3. שיעור 3 : מבוא ל ASP.NET. www.doronamir.com MCSD DORON AMIR. Web Forms . Web Form מאפשר ל asp.net לספק בקרה על ממשק המשתמש ע"י אובייקטים הנמצאים בשרת. HTML FORMS. מודל Request Response HTML בנוי מפריטים המרכיבים את ממשק המשתמש
E N D
מבוא ל ASP.NET מצגת מס' 3 • שיעור 3 : מבוא ל ASP.NET www.doronamir.com MCSD DORON AMIR
Web Forms • Web Form מאפשר ל asp.net לספק בקרה על ממשק המשתמש ע"י אובייקטים הנמצאים בשרת
HTML FORMS • מודל Request \ Response • HTML בנוי מפריטים המרכיבים את ממשק המשתמש • HTML מבוסס על צד הלקוח : Client-Based • רק כאשר מתבצע SUBMIT נשלחים הנתונים • השרת אינו יודע כיצד נראה הטופס • השרת אינו יודע לאיזה סוג נתונים לצפות Client POST DATA SERVER
Web Forms • בניגוד ל HTMLה Web Forms מבוססי שרת • האלמנטים עבור המשתמש נוצרים בשרת • השרת יודע כיצד הטופס נראה • השרת מודע לפונקציונליות הטופס • השרת מודע לסוגי הנתונים הנשלחים מהטופס
Server Controls • פקדי שרת • מייצגים חלק ממשק המשתמש UI • אובייטים הניתנים לשליטה מלאה בצד השרת • מכילים אירועים , מאפיינים , שיטות .. • בעת בקשה מהלקוח , asp.net ממירה פקדים אלה ל HTML המותאם לסוג הדפדפן Down Level Support תמיכה ברמה הנמוכה
Event-Driven • מתבסס על מודל Request \ Response • מספק סביבה אינטואיטיבית • הפקדים מודיעים לשרת ברגע שמשהו מתרחש • הלקוח שולח מידע לשרת גם ללא ידעת המשתמש • השרת יוצר את הפקדים ולכן זוכר את הערכים • שימוש אוטומטי בשדות נסתרים מאפשרים לשרת לזכור את מצב התצוגה של כל פקד
Server Control Type • HTML Server Controls • WEB Server Controls • Validation Server Controls • USER Server Controls
HTML\WEB Server Controls • HTML • ייצוג עבור האלמנטים הרגילים ב HTML • נמצאים בצד השרת • WEB • מספקים פונקציונליות גבוהה יותר • מציגים ממשקי משתמש מורכבים
Validation\User Server Controls Validation • בדיקת נתוני המשתמש • טווח , ביטוי , נתוני חובה , סיכום שגיאות ... USER • פקדים המותאמים אישית לפי רצון המשתמש
אירוע אקטיבי \ פסיבי אירוע אקטיבי • מחייב פעולה מפורשת של המשתמש • הפעולה מבוצעת במתכוון • לחיצה על קישור, לחצן , הזנת טקסט ... • רק אירועים אקטיביים מטופלים בשרת אירוע פסיבי : מתרחש שלא במתכוון הזזת עכבר , גרירת תמונה ... אירועים פסיבים מתרחשים בתדירות גבוהה מאד לכן הם מטופלים בצד הלקוח - JavaScript
Events • לפקדי שרת אירועים רבים • בכל התרחשות אירוע הלקוח שולח נתונים לשרת אירעים נשלחים לשרת בשתי דרכים : • אירוע מופעל מייד ברגע ההתרחשות • אירוע מופעל במשלוח יחיד ( או קבוצה )Submit
רשימת הפרמטרים הסטנדרטית עבור אירוע כאשר האירוע CLICK יתרחש שיטה זו תופעל בצד השרת מייצגים נתונים הנכללים במשלוח Obj : האובייקט הקורא לשיטה E : מידע נוסף <script runat="server"> Sub Button1_Click(obj as object, e as EventArgs) Label1.Text = "You clicked <b>" & obj.Text & "</b>" end Sub </script> יציג את הטקסט השרשום על הפקד שקרא לשיטה : Button1 <form runat="server"> <asp:Button id="Button1" runat="server" Text="Button1" onClick="Button1_Click" />
View State • טפסי WEB שומרים את מצב התצוגה ע"י שדות נסתרים המיוצרים אוטומטית • State bag • דרך נוספת לשמירת מידע היא State bag • משתמש לשמירת ערכים שהמשתמש לא הזין כמו תוצאת חישוב שהתקבלה ויש לשמור אותה
State Bag ViewState("StartTime") = DateTime.Now Sub Page_Load(obj as object, e as EventArgs) if not Page.IsPostBack then ViewState("StartTime") = DateTime.Now lblMessage.Text = "Time is now: " & ViewState("StartTime") end if end sub בפעם הראשונה : הזמן ותאריך הבקשה יאוחסנו ב State Bag הערך ישמר למרות בקשות שונות שיתרחשו
State Bag ביצוע SUBMIT שולח את הנתונים ומוכיח כי ערך ה State Bag נשמר Sub Submit(obj as object, e as EventArgs) lblMessage.Text = "The time is now: " & DateTime.Now & _ "<br />started at: " & ViewState("StartTime") end Sub יודפס הערך של הזמן הנוכחי + זמן טעינת הדף לראשונה האובייקט מתרוקן כאשר המשתמש עוזב את הדף
State Bag הזמן בכל לחיצה על Submit רק כאשר הדף נטען לראשונה Stae Bag
סדר פעולות כללי • לקוח מבקש טופס • השרת מייצר קוד HTML • Page_Load מתרחש • השרת שולח את הטופס • קריאה לשיטות המטפלות באירועים • לקוח עוזב את הדף • Page_Unload משחרר כל זיכרון שאין בו צורך
AutoPostBack • משלוח מיידי של נתונים בעת התרחשות האירוע
AutoPostBack הטיפול באירועים
סיכום חלק א' • טפסי Web מאפשרים לשרת לעקוב אחר המשתמש • טפסי WEB מורכבים מ 4 סוגי פקדים • HTML\WEB\Validation\USER • הסבת פקד ישן runat=server • Event • State Bag • AutoPostBack
מבוא ל ASP.NET מצגת מס' 3 • שיעור 3 : מבוא ל ASP.NET www.doronamir.com MCSD DORON AMIR