ASP.NETASP.NETמבוא ל מבוא ל
מבוא ל : מבוא ל 33שיעור שיעור : ASP.NETASP.NET
33מצגת מס' מצגת מס'
www.doronamir.com
MCSD DORON AMIR
Web FormsWeb Forms
Web FormWeb Form מאפשר ל מאפשר ל asp.netasp.net לספק בקרה על לספק בקרה על ממשק המשתמש ע"י אובייקטים הנמצאים בשרתממשק המשתמש ע"י אובייקטים הנמצאים בשרת
HTML FORMSHTML FORMS
מודל מודלRequest \ ResponseRequest \ ResponseHTMLHTML בנוי מפריטים המרכיבים את ממשק בנוי מפריטים המרכיבים את ממשק
המשתמשהמשתמשHTMLHTML : מבוסס על צד הלקוח : מבוסס על צד הלקוח Client-BasedClient-Based רק כאשר מתבצע רק כאשר מתבצעSUBMITSUBMIT נשלחים הנתונים נשלחים הנתונים השרת אינו יודע כיצד נראה הטופס השרת אינו יודע כיצד נראה הטופס השרת אינו יודע לאיזה סוג נתונים לצפות השרת אינו יודע לאיזה סוג נתונים לצפות
SERVERPOST DATA
Client
Web FormsWeb Forms
בניגוד ל בניגוד לHTMLHTML ה הWeb FormsWeb Forms מבוססי מבוססי שרתשרת
האלמנטים עבור המשתמש נוצרים בשרת האלמנטים עבור המשתמש נוצרים בשרת השרת יודע כיצד הטופס נראה השרת יודע כיצד הטופס נראה השרת מודע לפונקציונליות הטופס השרת מודע לפונקציונליות הטופסהשרת מודע לסוגי הנתונים הנשלחים מהטופסהשרת מודע לסוגי הנתונים הנשלחים מהטופס
Server ControlsServer Controlsפקדי שרתפקדי שרת מייצגים חלק ממשק המשתמש מייצגים חלק ממשק המשתמשUIUI אובייטים הניתנים לשליטה מלאה בצד השרת אובייטים הניתנים לשליטה מלאה בצד השרת.. מכילים אירועים , מאפיינים , שיטות ..מכילים אירועים , מאפיינים , שיטות , בעת בקשה מהלקוח , בעת בקשה מהלקוחasp.netasp.net ממירה ממירה
המותאם לסוג הדפדפן המותאם לסוג הדפדפן HTMLHTMLפקדים אלה ל פקדים אלה ל
Down Level Support תמיכה ברמה הנמוכה
Event-DrivenEvent-Driven
מתבסס על מודל מתבסס על מודלRequest \ ResponseRequest \ Responseמספק סביבה אינטואיטיביתמספק סביבה אינטואיטיביתהפקדים מודיעים לשרת ברגע שמשהו מתרחשהפקדים מודיעים לשרת ברגע שמשהו מתרחש הלקוח שולח מידע לשרת גם ללא ידעת הלקוח שולח מידע לשרת גם ללא ידעת
המשתמשהמשתמשהשרת יוצר את הפקדים ולכן זוכר את הערכיםהשרת יוצר את הפקדים ולכן זוכר את הערכים שימוש אוטומטי בשדות נסתרים מאפשרים שימוש אוטומטי בשדות נסתרים מאפשרים
לשרת לזכור את מצב התצוגה של כל פקד לשרת לזכור את מצב התצוגה של כל פקד
Server Control TypeServer Control Type
HTML Server ControlsHTML Server ControlsWEB Server ControlsWEB Server ControlsValidation Server ControlsValidation Server ControlsUSER Server ControlsUSER Server Controls
HTML\WEB Server ControlsHTML\WEB Server Controls
HTMLHTML ייצוג עבור האלמנטים הרגילים ב ייצוג עבור האלמנטים הרגילים בHTMLHTML נמצאים בצד השרת נמצאים בצד השרתWEBWEB מספקים פונקציונליות גבוהה יותר מספקים פונקציונליות גבוהה יותר מציגים ממשקי משתמש מורכבים מציגים ממשקי משתמש מורכבים
Validation\User Server Validation\User Server ControlsControls
ValidationValidationבדיקת נתוני המשתמשבדיקת נתוני המשתמש... טווח , ביטוי , נתוני חובה , סיכום שגיאות ...טווח , ביטוי , נתוני חובה , סיכום שגיאות
USERUSERפקדים המותאמים אישית לפי רצון המשתמש פקדים המותאמים אישית לפי רצון המשתמש
אירוע אקטיבי \ פסיביאירוע אקטיבי \ פסיביאירוע אקטיביאירוע אקטיבי
מחייב פעולה מפורשת של המשתמש מחייב פעולה מפורשת של המשתמשהפעולה מבוצעת במתכווןהפעולה מבוצעת במתכוון... לחיצה על קישור, לחצן , הזנת טקסט ...לחיצה על קישור, לחצן , הזנת טקסט רק אירועים אקטיביים מטופלים בשרת רק אירועים אקטיביים מטופלים בשרת
אירוע פסיבי :אירוע פסיבי :מתרחש שלא במתכוון מתרחש שלא במתכוון
הזזת עכבר , גרירת תמונה ...הזזת עכבר , גרירת תמונה ...אירועים פסיבים מתרחשים בתדירות גבוהה מאד אירועים פסיבים מתרחשים בתדירות גבוהה מאד
JavaScriptJavaScriptלכן הם מטופלים בצד הלקוח - לכן הם מטופלים בצד הלקוח -
EventsEvents
לפקדי שרת אירועים רבים לפקדי שרת אירועים רבים בכל התרחשות אירוע הלקוח שולח נתונים לשרת בכל התרחשות אירוע הלקוח שולח נתונים לשרת
אירעים נשלחים לשרת בשתי דרכים : אירעים נשלחים לשרת בשתי דרכים :
מייד ברגע ההתרחשות מייד ברגע ההתרחשותאירוע מופעל אירוע מופעל 1.1.
במשלוח יחיד ) או קבוצה ( במשלוח יחיד ) או קבוצה (אירוע מופעל אירוע מופעל 2.2.SubmitSubmit
רשימת הפרמטרים הסטנדרטית עבור רשימת הפרמטרים הסטנדרטית עבור אירועאירוע
<script runat="server>"
Sub Button1_Click(obj as object, e as EventArgs) Label1.Text = "You clicked <b>" & obj.Text &
"</b"> end Sub
/<script>
יתרחש CLICKכאשר האירוע
שיטה זו תופעל בצד השרת מייצגים נתונים הנכללים במשלוח
Obj האובייקט הקורא לשיטה :
E מידע נוסף :
יציג את הטקסט השרשום על Button1הפקד שקרא לשיטה :
<form runat="server"><asp:Button id="Button1"
runat="server" Text="Button1" onClick="Button1_Click" / >
Obj.TextObj.Text
View StateView State
טפסי טפסיWEBWEB שומרים את מצב התצוגה ע"י שומרים את מצב התצוגה ע"י שדות נסתרים המיוצרים אוטומטיתשדות נסתרים המיוצרים אוטומטית
State bagState bag דרך נוספת לשמירת מידע היא דרך נוספת לשמירת מידע היאState bagState bag משתמש לשמירת ערכים שהמשתמש לא הזין משתמש לשמירת ערכים שהמשתמש לא הזין
כמו תוצאת חישוב שהתקבלה ויש לשמור כמו תוצאת חישוב שהתקבלה ויש לשמור אותה אותה
State BagState Bag
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
ViewState("StartTime") = DateTime.Now
Stateבפעם הראשונה : הזמן ותאריך הבקשה יאוחסנו ב Bag
הערך ישמר למרות בקשות שונות שיתרחשו
State BagState Bag
Sub Submit(obj as object, e as EventArgs) lblMessage.Text = "The time is now: " &
DateTime.Now_ & <" br />started at: " & ViewState("StartTime")
end Sub
שולח את הנתונים ומוכיח כי SUBMITביצוע ערך
נשמר State Bagה
יודפס הערך של הזמן הנוכחי + זמן טעינת הדף לראשונה
האובייקט מתרוקן כאשר המשתמש עוזב את הדף
State BagState Bag
Submitהזמן בכל לחיצה על
Stae Bagרק כאשר הדף נטען לראשונה
סדר פעולות כלליסדר פעולות כללי
לקוח מבקש טופסלקוח מבקש טופס1.1.
HTMLHTMLהשרת מייצר קוד השרת מייצר קוד 2.2.
.3.3Page_LoadPage_Loadמתרחש מתרחש
השרת שולח את הטופסהשרת שולח את הטופס4.4.
קריאה לשיטות המטפלות באירועיםקריאה לשיטות המטפלות באירועים5.5.
לקוח עוזב את הדףלקוח עוזב את הדף6.6.
.7.7Page_UnloadPage_Unload משחרר כל זיכרון שאין בו משחרר כל זיכרון שאין בו צורךצורך
AutoPostBackAutoPostBack
משלוח מיידי של נתונים בעת התרחשות האירועמשלוח מיידי של נתונים בעת התרחשות האירוע
AutoPostBackAutoPostBack
AutoPostBackAutoPostBack
הטיפול באירועים
סיכום חלק א'סיכום חלק א'
טפסי טפסיWebWeb מאפשרים לשרת לעקוב אחר מאפשרים לשרת לעקוב אחר המשתמשהמשתמש
טפסי טפסיWEBWEB סוגי פקדים סוגי פקדים 44 מורכבים מ מורכבים מ HTMLHTML\\WEBWEB\\ValidationValidation\\USERUSER הסבת פקד ישן הסבת פקד ישןrunat=serverrunat=serverEventEventState BagState BagAutoPostBackAutoPostBack
ASP.NETASP.NETמבוא ל מבוא ל
מבוא ל : מבוא ל 33שיעור שיעור : ASP.NETASP.NET
33מצגת מס' מצגת מס'
www.doronamir.com
MCSD DORON AMIR