בפרק הקודם למדנו כיצד להגדיר את המודל. ראינו כי המודל הוא בסך הכול אוסף של מחלקות אשר מייצגות את הלוגיקה העסקית של המערכת. מהרגע שהמודל קיים ניתן להתקדם במימוש של ה-Controller.
ה-Controller יודע לעבוד מול המודל, לשלוף את האובייקטים המתאימים מתוכו או ליצור חדשים.
אנו נגדיר כעת Controller חדש אשר יודע לנהל את כל האינטראקציה עם ה-Browser בכל מה שקשור לניהול של קבוצה נתונה בתוך הספר.
לדוגמא, כאשר ה-Browser יהיה מעוניין בתצוגה של קבוצה מסוימת הוא ייפנה ל-Controller הקרוי GroupController ויבקש את התצוגה המתאימה.
להורדת הקוד של הפרק קודם לחץ כאן
להוספת Controller חדש יש לבצע את הפעולות הבאות:
- פתח את Solution Explorer
- עמוד על ספריית ה-Controllers ולחץ על מקש ימני בעכבר
- בחר Add | Controller
- ציין את שם ה-Controller
- וודא כי ה-Checkbox בתחתית החלון איננו דלוק

ה-Controller מכיל את קוד ברירת המחדל הבא:
public class GroupController : Controller
{
//
// GET: /Group/
public ActionResult Index()
{
return View();
}
}
תקן את הקוד באופן הבא:
public ActionResult Index(int? id)
{
AddressBookDB db = AddressBookDB.Create();
Group group;
if (id == null)
{
group = db.Root;
}
else
{
group = (Group)db.GetItemByID(id.Value);
}
return View(group);
}
למרות שהקוד מתקמפל בהצלחה, ניסיון להריצו ייצר שגיאת זמן ריצה וזאת מאחר ולא הגדרנו את התצוגה המתאימה

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



למאמר הקודם