PracticU

יצירת Layout

בלי כתוביותעם כתוביות
PracticU › קורס MVC › יצירת Layout
מילון מושגים:
לייאאוט - ארגון וסידור הרכיבים החזותיים על המסך או בדף, כמו מיקום כפתורים, טקסט ותמונות.
MVC - דפוס ארכיטקטורה שמפריד יישום לשלושה חלקים: מודל (נתונים), תצוגה (View) ובקר (Controller).
HTML - שפת הסימון שבה בונים את מבנה ותוכן דפי האינטרנט, באמצעות תגיות שמגדירות כותרות, פסקאות, קישורים ועוד.
View - רכיב שאחראי על הצגת המידע למשתמש (התצוגה) בדפוס MVC. גם טבלה וירטואלית מבוססת שאילתה במסד נתונים.
דפדפן - תוכנה שמציגה דפי אינטרנט ומריצה את הקוד שבהם, ומאפשרת לגלוש בין אתרים, למשל Chrome או Firefox.
תגית - סימון בקוד, למשל ב-HTML, שתוחם רכיב ומגדיר את תפקידו או תכונותיו. גם תווית לסימון וקיטלוג פריטים.
לקוח - תוכנה או מחשב שפונים לשרת ומבקשים ממנו שירות או מידע, למשל דפדפן שמבקש דף אינטרנט.
CSS - שפת עיצוב שקובעת את המראה של דפי אינטרנט: צבעים, גופנים, מיקום וסידור הרכיבים.

יצירת Layout
השיעור מסביר Layout ב-MVC: מבנה HTML משותף לכל הדפים, כך שלא צריך לכתוב את אותן תגיות בכל View.
השלבים העיקריים
1. הבעיה: View שמציג פרטי מוצר מחזיר רק את התוכן עצמו, בלי תגיות HTML, Head ו-Body. דפדפן עלול לא להציג אותו כראוי.
2. יצירת הלייאוט: בתיקייה Views/Shared יוצרים קובץ _Layout.cshtml, ובו תגית DOCTYPE, html, head ו-body. בתוך ה-body נמצאת div כללית.
3. RenderBody: הפקודה @RenderBody() קובעת איפה יוטמע התוכן של ה-View שאליו הלקוח גלש.
4. קישור ל-View: בתחילת ה-View מגדירים את הלייאוט, למשל Layout = "~/Views/Shared/_Layout.cshtml". הסימן ~ מייצג את התיקייה הראשית של האתר.
5. _ViewStart: במקום להגדיר את הלייאוט בכל View, מעתיקים את השורה לקובץ _ViewStart.cshtml בתיקיית Views, וכך כל View מקבל את הלייאוט אוטומטית.
6. סידור העמוד: בלייאוט מגדירים בעזרת CSS כותרת עליונה (div header), תפריט וגוף תוכן (div content). התפריט צף לשמאל, והתוכן ממוקם מימינו. קובץ ה-CSS נשמר בתיקייה Content ומקושר בלייאוט בתגית link.
שימו לב
ה-View לא צריך להכיל את התגיות הכלליות. הלייאוט מחזיק את מה שחוזר על עצמו בכל הדפים, ו-RenderBody מחבר את התוכן הספציפי של כל דף.
אחרי השיעור כל View באתר יוצג באותו מבנה, בלי לשכפל תגיות.
השיעור הבא בקורס: יצירת Partial View
מילון מושגים:
קוד מקור - הקוד שמפתחים כותבים בשפת תכנות, לפני הידור, המגדיר את פעולת התוכנה.
MVC - דפוס ארכיטקטורה שמפריד יישום לשלושה חלקים: מודל (נתונים), תצוגה (View) ובקר (Controller).

להורדת קוד מקור של כל הדוגמאות בקורס MVC – לחץ כאן


פרקי ההרצאה: יצירת Layout

  1. 00:00

    מידע משותף לכל ה-Views

  2. 00:56

    Controller שמחזיר מוצר

  3. 01:42

    Strongly Typed View לפרטי המוצר

  4. 03:19

    HTML לא תקני ב-Page Source

  5. 04:36

    תיקיית Shared וקובץ _Layout

  6. 05:32

    DOCTYPE, HEAD ו-Style ב-Layout

  7. 06:13

    Body ומיקום תוכן ה-View

תמלול ההרצאה: יצירת Layout

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

  1. 00:00

    כעת אנחנו עוברים לנושא שנקרא Layout. Layout זה מידע שאנחנו רוצים שיהיה תקף לכל מיני Views שיש לנו בלי לכתוב את המידע הזה שוב ושוב באותו View.

  2. 00:14

    אנחנו ראינו שאנחנו גלשנו לאיזשהו קונטרולר, קיבלנו View שהציג פרטים של מוצר, אבל היה חסר שם כמה נתונים בקשר לדף HTML תקני. היה חסר תגית Add, תגית Body, תגית HTML ואולי גם תגיות נוספות.

  3. 00:30

    כעת אנחנו הולכים לראות איפה נכון ב-MVC להגדיר את הדבר הזה כך שאנחנו לא נצטרך לשכפל את התגיות הנפוצות האלה לכל ה-views שאנחנו בונים ויכול להיות גם שבהמשך אנחנו נגדיר איזשהו סידור מסוים איך אנחנו רוצים שהמידע יסתדר בתוך הדף כמו כותרת ראשית או זכויות יוצרים מידע שחוזר על עצמו שוב ושוב אנחנו לא רוצים לכתוב

  4. 00:54

    אותו בכל הדפים אז יש לנו כרגע מחלקה שנקראת product זה המודל שלנו בואו נוסיף controller עבור המוצרים יש לנו פה פונקציית אינדקס בוא נניח שהיא ניגשת לדאטאבייס ומביאה לנו מוצר אחד יש לנו פה product שווה new product יש לנו פה product ID בוא נניח 100 יש לנו פה product name יש לנו פה price ואנחנו רוצים לשלוח את המוצר הזה ל-view

  5. 01:39

    כעת בואו ניצור view נוסיף view עבור האינדקס create a strongly type view אפשר להגיד שהוא נמצא בתוך name space שנקרא layout בתוך תקייה שנקראת מודלס והמוצר שלנו נקרא פרודקט המחלקה נקראת פרודקט בואו נציג את הפרטים של המוצר יש לנו פה פרודקט דיטיילס יש לנו פה את הפרודקט ניים זה נמצא במודל פרודקט ניים יש לנו פה את הפרייס וזה נמצא בפרייס ויש לנו פה את

  6. 02:49

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

  7. 03:26

    עכשיו בואו נסתכל רגע על ה-Page View Source ונראה שבעצם מה שרשמנו בתוך ה-View שלנו זה מה שהלקוח קיבל וזה לא מסמך תקני של ה-HTML יכול להיות שיש איזשהו דפדפן שלא יסכים להציג את הפרטים האלה כי הוא יגיד רגע רגע ה-HTML צריך תגית HTML המידע שאתם רוצים להציג צריך להיות בתוך תגית Body איפה כל התגיות האלה?

  8. 03:53

    אז כמובן שיטה אחת הייתה להגדיר את המידע הזה כאן זאת אומרת לפתוח פה תגית HTML תגזור אותה ובתוכה תגיד head וbody וכולי אבל אז זה אומר שאנחנו צריכים לחזור על הקוד הזה בכל הקבצים שאנחנו בונים בכל הviews שאנחנו בונים זה כמובן לא הגיוני שנחזור על קוד ולכן מה שחשוב לעשות זה להגדיר layout שזה דף שמחזיק את הסידור הזה ואנחנו רוצים שכל view ידע לקחת את המידע הזה מאותו דף

  9. 04:29

    layout ולשלב את המידע הכללי במידע הספציפי שה-view חושף ללקוח. אוקיי, אז איך עושים את זה? מה שאנחנו צריכים לעשות קודם כל זה להוסיף דף נפרד עבור ה-Layout.

  10. 04:45

    הדף הזה צריך להיות בתיקיית Views. נהוג שבתוך התיקיית Views נפתח עוד תיקייה ונקרא לה Shared, שבה יש מידע שמשותף לכל ה-Views. בתוך Shared נוסיף View, נקרא לו UnderlineLayout, נהוג ש-Layouts יתחילו בתו Underline, אין צורך להגדיר Strongly Type, נגדיר אותו בצורה כזאת ניפטר מכל מה שנמצא בתוכו ונגדיר בתוכו את

  11. 05:27

    מה שאנחנו רוצים שיהיה משותף לכל הדפים לדוגמה תגית Doctype שמגדירה לדפדפן שאנחנו נמצאים בגרסה בוא נניח של html 5 לאחר מכן יש לנו תגית html בתוכה יש לנו את ה-head בתוך ה-head בוא נגדיר איזשהו סטייל בתוך הסטייל נגדיר body background color light blue לאחר

  12. 06:14

    מכן יש לנו תגיד body ובתוך ה-body יש איזושהי div כללית אנחנו רוצים שהמידע הזה בוא נניח ישוכפל לכל הדפים אבל איפה בדיוק בתוך המידע הזה אנחנו רוצים לשתול את התוכן של ה-view שאליו הלקוח גלש או שאותו הלקוח רוצה לקבל אז יש לנו פקודה ב-mvc שנקראת render body

לקורס המלא: קורס MVC אונליין בעברית

ההרצאה הקודמת: שפת Razor לכתיבת View

ההרצאה הבאה: יצירת Partial View

הרצאות קשורות מקורסים אחרים

  • Layout
  • יצירת קומפוננטה של Layout ב-React
  • Page Layout - Float - CSS
  • מבנה אתר אינטרנט - Grid Layout - חלק 1

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

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