
BaseController - קונטרולר בסיס שכל הקונטרולרים באתר יורשים ממנו, כך שקוד שצריך בכל האקשנים נכתב פעם אחת בלבד.BaseController בלי פונקציות, וקונטרולר אחר, למשל מוצרים, יורש ממנו במקום מ-Controller.ViewBag.Sale.ViewBag.Sale - הערך נטען מהדאטאבייס בבסיס. בהרצאה תוקן הטקסט שמוצג לנוסח "shoes in half price", כי הניסוח הקודם לא הסתדר בתצוגה.הטקסט המלא של הדקות הראשונות בהרצאה «יצירת Controller בסיס» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
הדבר הבא שאנחנו הולכים לראות זה יצירת קונטרולר בסיס עבור כל הקונטרולרים שלנו. למה חשוב לנו לדעת את זה? כי יכול להיות שבהרבה אקשנים או בכל האקשנים אנחנו רוצים לבצע אותה הפעולה.
במקום לחזור על הקוד הזה בכל אחד מהאקשנים אנחנו יכולים להעלות את זה לבסיס, אבל לצורך כך אנחנו צריכים לבנות ראשית קונטרולר בסיס.
אז יש לנו פה פרויקט חדש, ומה שאנחנו הולכים לעשות זה לבנות קונטרולר, לקרוא לו בייס קונטרולר ריק לגמרי, נוסיף אותו וכל קונטרולר אחר יורש מהקונטרולר הזה.
אין לנו שום צורך בפונקציות בקונטרולר הזה, אבל אם אנחנו רוצים לעשות איזושהי פעולה שתתבצע עבור כל הקונטרולרים שיורשים את הבייס קונטרולר, יש לנו אפשרות לרשת פונקציות מיוחדות.
לדוגמה, פונקציה שנקראת onActionExecuted. הפונקציה הזאת מתבצעת אחרי ש-Action התבצעה. onActionExecuting נתבצע לפני שהפונקציה התבצעה ולכן בואו ניקח לדוגמה את onActionExecuting חשוב לבצע בייס נקודה ולקרוא לאותה פונקציה של הקונטרולר הבסיסי מפני שאנחנו מבצעים פה Override ולכן הפונקציה של קונטרולר הבסיס או קונטרולר האמיתי לא תתבצע אלא הפונקציה
שלנו תתבצע במקומה ולכן עלינו לקרוא לפונקציה של הבסיס בכדי שבוודאות היא גם תתבצע וגם אנחנו יכולים פה להוסיף את הדברים שאנחנו רוצים.
אז פה אנחנו בעצם ניגשים לדייטאבייס וטוענים בואו נניח את רשימת המבצעים או את המבצע החשוב שאנחנו רוצים להציג בכל דפי האתר. אז בואו ניקח את view bag, ניכנס אליו ונגיד שאנחנו רוצים לפתוח פה איזשהו משתנה שיגדיר איזשהו מבצע שאנחנו רוצים להציג.