
runat="server". אפשר לגשת אליו מ-C# ולקרוא את הערך שלו, למשל דרך המאפיין Value. השרת יוצר לו אובייקט, ולכן הוא איטי מעט יותר.הטקסט המלא של הדקות הראשונות בהרצאה «שלושת הקטגוריות של הפקדים» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
מה שאנחנו הולכים לראות עכשיו זה סוגי הפקדים השונים מבחינת קטגוריות שקיימות ב-sp.net. ב-sp.net קיימים סך הכל שלושה סוגים של פקדים או שלוש קטגוריות של פקדים.
אנחנו דיברנו על זה באחד השיעורים הקודמים אבל בואו נחדד את העניינים בשיעור הזה. סוג ראשון של פקדים או רכיבים שקיימים לנו ב-sp.net אלו רכיבי html טהורים לגמרי. בואו נראה דוגמה לרכיב כזה.
יש לנו input type שווה טקסט אנחנו כבר מכירים את הרכיב הזה זאתי תיבה טקסט פשוטה לגמרי יש לה name או נניח txth בואו נגדיר לה אפילו id txth זהו רכיב html טהור לגמרי ומה שמיוחד ברכיב הזה זה שבדיוק אותו צורה של רכיב מופיע למשתמש זאת אומרת שמה שאתם רואים כאן זה
מה שהולך להופיע בדפדפן עצמו מפני ש-HTML לא עובר שום שינוי בצד השרת. בואו נריץ רגע את הדף, נסתכל על התיבה הזאת, אני רואה שזו תיבה שאני יכול לרשום בה, אם אני מסתכל על ה-View Source אני רואה שה-View Source זהה למה שכתבתי בקובץ ה-ASPX.
יתרון מסוים שיש לנו כאן זה מהירות. הרכיב הזה לא עובר שום שינוי בצד השרת. אם אין לי צורך בשום שינוי בצד השרת עבור הרכיב שלי, אז מבחינת מהירות יותר כדאי לי לקחת רכיב html טהור, חיסרון אני לא יכול לגעת בתוכן שלו בצד השרת בצורה סטנדרטית.
לדוגמה אין לי כאן אפשרות להגיע ל-txt h, אני יכול להשיג את התוכן שלו על ידי המידע שמגיע דרך הפורם כמו שראינו בשיעור הקודם אבל אני לא יכול לגשת לרכיב תיבת טקסט עצמו, לדוגמה לצבוע לו את צבע הרקע בצורה סטנדרטית, אולי אפשר לפתור את זה בכל מיני דרכים עקלקלות, אבל לא ניתן בצורה סטנדרטית להגיע לרכיב עצמו
מבחינת הרכיב ה-HTML בצד השרת. אז הסוג הראשון זה רכיב HTML טהור. בואו נעבור לסוג השני. הסוג השני שכבר ראינו אותו זה רכיב ASP.NET.
רכיבי ASP.NET מתחילים ב-ASP.2 לרוב, ולדוגמה בואו ניקח את אותו רכיב ASP.2 טקסטבוקס. רכיב ASP.NETI זהו רכיב שיש לי גישה אליו מצד השרת והופך את עצמו לרכיב HTML טהור.
ASP.2 טקסטבוקס זה רכיב .NETI. רכיב .NETI חייב שיהיה לו ID, בואו ניתן לו נניח TXT first name, חייב שיהיה לו run at שווה server והוא חייב להיות בתוך פורום שגם הוא מוגדר כrun at שווה server.
מבחינת הדפדפן אנחנו ראינו שהדפדפן לא מכיר את התגית ASP.2 טקסטבוקס והדפדפן גם לא אמור להכיר אותה. כאשר אני אריץ את הדף הזה ואני אסתכל על ה-view source שלו, כלומר מהו קוד ה-HTML שמגיע לדפדפן ואותו הדפדפן מציג, אני יכול לראות שלא יהיה לי שום תגית שנקראת ASP.2 טקסטבוקס,
אלא התגית ASP.2 טקסטבוקס תתרגם את עצמה לתגית input שהיא טייפ שווה טקסט. פעולת התרגום ראינו נקראת רנדרינג.
רנדרינג זאת הפעולה שבה הרכיב הדוט נטי SP.2 טקסטבוקס המיר את עצמו לרכיב שאותו הדפדפן מכיר ויוכל להציג. מבחינת הדפדפן זה גם טקסטבוקס רגיל לגמרי, אבל מה שמיוחד ברכיב הזה זה שכן יש לי גישה אליו מצד השרת.
בואו נסתכל, TXT first name נגיש בצד השרת. לדוגמה אני יכול לקחת asp.label עוד תגיד צד שרת id אתן לה lbl first name run את server חובה ובלחצן הוא צד שרת לגשת לתיבת הטקסט צד השרת להוציא ממנה את ערך הטקסט ולהכניס אותו ללבל בואו נריץ show first name השגתי אותו בצד השרת אוקיי יתרון של רכיב צד שרת
ASP.NETי רגיל של ASP.NET. ראשית יש לי גישה מלאה אליו בצד השרת לא רק לטקסט שנמצא בתיבת הטקסט או לטקסט שנמצא בלייבל אלא לרכיב עצמו.
אני יכול לדוגמה לגשת לרכיב צד השרת שלנו לדוגמה lbl first name ולשנות לו דברים אחרים לדוגמה צבע רקע הצלחתי לשנות לו את הצבע רקע.
יתרון נוסף לרכיבי צד שרת ישנם גם אירועים שניתן לתפוס בצד השרת, רכיבי צד לקוח טהורים, כלומר רכיבי html, לא ניתן לגשת אליהם בצד השרת וגם לא ניתן לתפוס אירועים שלהם בצד השרת, אלא רק בצד הלקוח כמובן על ידי javascript.
בואו נראה דוגמה לתפיסת אירוע של טקסטבוקס. אם אני אבחר את הטקסטבוקס ואלך לאירועים שלו אני יכול לראות שיש לי מספר מצומצם של אירועים עבור תיבת הטקסט.
מה שאתם רואים כאן לא נחשבים הרבה אירועים אלא מספר מצומצם של אירועים והאירועים האלה שייכים לתיבת הטקסט. האירועים האלה מתבצעים בצד השרת לדוגמה אירוע טקסט צ'יינג טקסט צ'יינג שינוי טקסט אם אני אלחץ דאבל קליק על האירוע הזה אני רואה שנפתח לי אזור קוד לתכנות קוד באירוע עבור תיבת הטקסט txt first name.
נראה כאילו שהאירוע הזה מתבצע בכל פעם שישנו