PracticU

שלושת הקטגוריות של הפקדים

בלי כתוביותעם כתוביות
PracticU › קורס ASP.NET › שלושת הקטגוריות של הפקדים
מילון מושגים:
רכיב - יחידת בניין עצמאית וניתנת לשימוש חוזר בתוך מערכת או ממשק משתמש, שאחראית על חלק מוגדר מהתפקוד.
דפדפן - תוכנה שמציגה דפי אינטרנט ומריצה את הקוד שבהם, ומאפשרת לגלוש בין אתרים, למשל Chrome או Firefox.
HTML - שפת הסימון שבה בונים את מבנה ותוכן דפי האינטרנט, באמצעות תגיות שמגדירות כותרות, פסקאות, קישורים ועוד.
צד שרת - החלק של היישום שרץ בשרת ואחראי על הלוגיקה, מסדי הנתונים והעיבוד שמאחורי הקלעים.
C# - שפת תכנות מונחית עצמים של מיקרוסופט, המשמשת בעיקר לפיתוח יישומים על פלטפורמת .NET.
מאפיין - תכונה שמצמידים לרכיב ומתארת אותו או את התנהגותו, למשל מאפיין של תגית HTML או שדה באובייקט.
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.
אירוע - התרחשות שהמערכת מזהה ויכולה להגיב לה, כמו לחיצת עכבר, הקשה או סיום פעולה.

שלושת הקטגוריות של הפקדים
השיעור מסדר את הרכיבים של ASP.NET לשלוש קטגוריות, לפי הדרך שבה הם מגיעים לדפדפן ולפי היכולת לגשת אליהם מצד השרת.
שלוש הקטגוריות
1. HTML Controls: רכיבי HTML טהורים, כמו input מסוג text. הם מוצגים בדיוק כפי שנכתבו, ואין אפשרות לגשת אליהם מצד השרת בצורה רגילה. הם המהירים ביותר, כי השרת לא מעבד אותם.
2. HTML Server Controls: רכיב HTML רגיל שהפך לצד שרת על ידי הוספת ID ו-runat="server". אפשר לגשת אליו מ-C# ולקרוא את הערך שלו, למשל דרך המאפיין Value. השרת יוצר לו אובייקט, ולכן הוא איטי מעט יותר.
3. ASP.NET Server Controls: רכיבי ASP.NET, כמו TextBox או Label. הם מתורגמים ל-HTML בזמן הרנדרינג, ואפשר לגשת אליהם מצד השרת במלואם, כולל תוכן, מאפיינים ואירועים. הם הכבדים ביותר, אבל גם העשירים ביותר.
ההמלצה למימוש
1. אין צורך בשרת: אם הרכיב לא צריך שינוי מצד השרת, לא תוכן ולא אירועים, משתמשים ב-HTML Controls.
2. צריך גישה מלאה מצד השרת: משתמשים ב-ASP.NET Server Controls, כי הם מכילים את האפשרויות המלאות.
3. דף HTML ישן: HTML Server Controls מתאים כשיש דף HTML קיים, ורוצים לגשת לחלק ממנו מצד השרת בלי להחליף את כל הרכיבים. מוסיפים runat="server" ו-ID, והדף המקורי נשאר כמעט כמו שהיה.
דוגמה
תיבת טקסט מסוג HTML עם runat="server" נקראת בקוד, והערך שלה מוצג בלייבל. תיבת טקסט מסוג ASP.NET מאפשרת גם לשנות את הטקסט וגם את צבע הרקע. אירוע TextChanged של תיבת טקסט ASP.NET נשלח לשרת רק בפוסטבק, ולא בכל הקלדה. כדי שרכיב ישלח לשרת מיד בלחיצה, מגדירים AutoPostBack ל-true, כמו ב-CheckBox וב-DropDownList.
בסוף השיעור הסטודנט יודע לבחור את סוג הרכיב המתאים לפי הצורך בגישה מצד השרת.
השיעור הבא בקורס: ViewState

פרקי ההרצאה: שלושת הקטגוריות של הפקדים

  1. 00:00

    שלוש קטגוריות הפקדים

  2. 01:02

    פקד HTML טהור

  3. 02:12

    יתרונות וחסרונות פקד HTML

  4. 03:11

    פקדי ASP.NET

  5. 04:55

    תהליך ה-Rendering

  6. 05:45

    גישה לפקד בצד השרת

  7. 07:27

    שינוי מאפיינים בצד השרת

  8. 08:29

    תפיסת אירועים בצד השרת

תמלול ההרצאה: שלושת הקטגוריות של הפקדים

הטקסט המלא של הדקות הראשונות בהרצאה «שלושת הקטגוריות של הפקדים» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:01

    מה שאנחנו הולכים לראות עכשיו זה סוגי הפקדים השונים מבחינת קטגוריות שקיימות ב-sp.net. ב-sp.net קיימים סך הכל שלושה סוגים של פקדים או שלוש קטגוריות של פקדים.

  2. 00:19

    אנחנו דיברנו על זה באחד השיעורים הקודמים אבל בואו נחדד את העניינים בשיעור הזה. סוג ראשון של פקדים או רכיבים שקיימים לנו ב-sp.net אלו רכיבי html טהורים לגמרי. בואו נראה דוגמה לרכיב כזה.

  3. 00:39

    יש לנו input type שווה טקסט אנחנו כבר מכירים את הרכיב הזה זאתי תיבה טקסט פשוטה לגמרי יש לה name או נניח txth בואו נגדיר לה אפילו id txth זהו רכיב html טהור לגמרי ומה שמיוחד ברכיב הזה זה שבדיוק אותו צורה של רכיב מופיע למשתמש זאת אומרת שמה שאתם רואים כאן זה

  4. 01:30

    מה שהולך להופיע בדפדפן עצמו מפני ש-HTML לא עובר שום שינוי בצד השרת. בואו נריץ רגע את הדף, נסתכל על התיבה הזאת, אני רואה שזו תיבה שאני יכול לרשום בה, אם אני מסתכל על ה-View Source אני רואה שה-View Source זהה למה שכתבתי בקובץ ה-ASPX.

  5. 02:08

    יתרון מסוים שיש לנו כאן זה מהירות. הרכיב הזה לא עובר שום שינוי בצד השרת. אם אין לי צורך בשום שינוי בצד השרת עבור הרכיב שלי, אז מבחינת מהירות יותר כדאי לי לקחת רכיב html טהור, חיסרון אני לא יכול לגעת בתוכן שלו בצד השרת בצורה סטנדרטית.

  6. 02:33

    לדוגמה אין לי כאן אפשרות להגיע ל-txt h, אני יכול להשיג את התוכן שלו על ידי המידע שמגיע דרך הפורם כמו שראינו בשיעור הקודם אבל אני לא יכול לגשת לרכיב תיבת טקסט עצמו, לדוגמה לצבוע לו את צבע הרקע בצורה סטנדרטית, אולי אפשר לפתור את זה בכל מיני דרכים עקלקלות, אבל לא ניתן בצורה סטנדרטית להגיע לרכיב עצמו

  7. 03:04

    מבחינת הרכיב ה-HTML בצד השרת. אז הסוג הראשון זה רכיב HTML טהור. בואו נעבור לסוג השני. הסוג השני שכבר ראינו אותו זה רכיב ASP.NET.

  8. 03:29

    רכיבי ASP.NET מתחילים ב-ASP.2 לרוב, ולדוגמה בואו ניקח את אותו רכיב ASP.2 טקסטבוקס. רכיב ASP.NETI זהו רכיב שיש לי גישה אליו מצד השרת והופך את עצמו לרכיב HTML טהור.

  9. 03:54

    ASP.2 טקסטבוקס זה רכיב .NETI. רכיב .NETI חייב שיהיה לו ID, בואו ניתן לו נניח TXT first name, חייב שיהיה לו run at שווה server והוא חייב להיות בתוך פורום שגם הוא מוגדר כrun at שווה server.

  10. 04:19

    מבחינת הדפדפן אנחנו ראינו שהדפדפן לא מכיר את התגית ASP.2 טקסטבוקס והדפדפן גם לא אמור להכיר אותה. כאשר אני אריץ את הדף הזה ואני אסתכל על ה-view source שלו, כלומר מהו קוד ה-HTML שמגיע לדפדפן ואותו הדפדפן מציג, אני יכול לראות שלא יהיה לי שום תגית שנקראת ASP.2 טקסטבוקס,

  11. 04:47

    אלא התגית ASP.2 טקסטבוקס תתרגם את עצמה לתגית input שהיא טייפ שווה טקסט. פעולת התרגום ראינו נקראת רנדרינג.

  12. 05:00

    רנדרינג זאת הפעולה שבה הרכיב הדוט נטי SP.2 טקסטבוקס המיר את עצמו לרכיב שאותו הדפדפן מכיר ויוכל להציג. מבחינת הדפדפן זה גם טקסטבוקס רגיל לגמרי, אבל מה שמיוחד ברכיב הזה זה שכן יש לי גישה אליו מצד השרת.

  13. 05:30

    בואו נסתכל, TXT first name נגיש בצד השרת. לדוגמה אני יכול לקחת asp.label עוד תגיד צד שרת id אתן לה lbl first name run את server חובה ובלחצן הוא צד שרת לגשת לתיבת הטקסט צד השרת להוציא ממנה את ערך הטקסט ולהכניס אותו ללבל בואו נריץ show first name השגתי אותו בצד השרת אוקיי יתרון של רכיב צד שרת

  14. 07:30

    ASP.NETי רגיל של ASP.NET. ראשית יש לי גישה מלאה אליו בצד השרת לא רק לטקסט שנמצא בתיבת הטקסט או לטקסט שנמצא בלייבל אלא לרכיב עצמו.

  15. 07:45

    אני יכול לדוגמה לגשת לרכיב צד השרת שלנו לדוגמה lbl first name ולשנות לו דברים אחרים לדוגמה צבע רקע הצלחתי לשנות לו את הצבע רקע.

  16. 08:29

    יתרון נוסף לרכיבי צד שרת ישנם גם אירועים שניתן לתפוס בצד השרת, רכיבי צד לקוח טהורים, כלומר רכיבי html, לא ניתן לגשת אליהם בצד השרת וגם לא ניתן לתפוס אירועים שלהם בצד השרת, אלא רק בצד הלקוח כמובן על ידי javascript.

  17. 08:59

    בואו נראה דוגמה לתפיסת אירוע של טקסטבוקס. אם אני אבחר את הטקסטבוקס ואלך לאירועים שלו אני יכול לראות שיש לי מספר מצומצם של אירועים עבור תיבת הטקסט.

  18. 09:26

    מה שאתם רואים כאן לא נחשבים הרבה אירועים אלא מספר מצומצם של אירועים והאירועים האלה שייכים לתיבת הטקסט. האירועים האלה מתבצעים בצד השרת לדוגמה אירוע טקסט צ'יינג טקסט צ'יינג שינוי טקסט אם אני אלחץ דאבל קליק על האירוע הזה אני רואה שנפתח לי אזור קוד לתכנות קוד באירוע עבור תיבת הטקסט txt first name.

  19. 09:57

    נראה כאילו שהאירוע הזה מתבצע בכל פעם שישנו

לקורס המלא: קורס ASP.NET אונליין

ההרצאה הקודמת: Multiple Pages - שימוש במספר דפים

ההרצאה הבאה: ViewState

קורסים נוספים במסלול

  • קורס Entity Framework Core - עבודה עם מסד נתונים בדוט-נט
  • קורס דוט-נט - NET Core. - עם Rest API
  • קורס MVC
  • קורס Git ו-GitHub עם Visual Studio