ב-MVC, ניתוב הוא תהליך של מיפוי בקשת הדפדפן לפעולת הבקר והחזרת תגובה חזרה. לכל יישום MVC יש ניתוב ברירת מחדל עבור ברירת המחדל HomeController . אנו יכולים להגדיר ניתוב מותאם אישית עבור הבקר החדש שנוצר.
ה RouteConfig.cs הקובץ משמש להגדרת ניתוב עבור היישום. בתחילה הוא מכיל את הקוד הבא.
// RouteConfig.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace MvcApplicationDemo { public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute('{resource}.axd/{*pathInfo}'); routes.MapRoute( name: 'Default', url: '{controller}/{action}/{id}', defaults: new { controller = 'Home', action = 'Index', id = UrlParameter.Optional } ); } } }
לפי קובץ ההגדרה הזה, פעולת האינדקס של בקר הבית תטופל כברירת מחדל. בפעם הראשונה, כאשר היישום פועל הוא מייצר את הפלט הבא.
אם נסתכל על שורת הכתובת, היא מכילה רק מארח מקומי: 52174 . אין בקר והפעולה צוינה כי נתב MVC ממפה את הבקר מה- RouteConfig.cs.
אם נזין במפורש שמות בקר ופעולות בשורת הכתובת, זה יפנה לאותה פעולה. ה localhost:52174/Home/Index יפיק את אותו פלט לדפדפן.
כעת, בואו ניצור בקר חדש ונקבע אותו לקובץ המסלול. קליק ימני על בקר תיקיה ובחר הוסף ואז בקר. זה יקפוץ חלון. בחר בקר ריק כפי שעשינו בצילום מסך.
לבקר זה יש קוד מקור כלשהו, החלף אותו עם הקוד הבא.
// StudentsController.cs
using System.Web.Mvc; namespace MvcApplicationDemo.Controllers { public class StudentsController : Controller { public ContentResult Index() { return Content('This is default student page'); } } }
כדי להגדיר את הבקר הזה בקובץ המסלול, ביצענו כמה שינויים ב RouteConfig.cs קוֹבֶץ. הקוד ניתן להלן.
// RouteConfig.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace MvcApplicationDemo { public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute('{resource}.axd/{*pathInfo}'); routes.MapRoute( name: 'Students', url: '{controller}/{action}/{id}', defaults: new { controller = 'Students', action = 'Index', id = UrlParameter.Optional } ); } } }
יישום זה מייצר את אותו פלט עבור מארח מקומי: 52174 ו localhost:52174/סטודנטים/אינדקס
מכיוון שמודול המסלול של מסגרת MVC ממפה את כתובת האתר של הדפדפן לקובץ RouteConfig של הפרויקט.
תְפוּקָה:
סעיפי sql
זה זהה לעיל אפילו שהזנו שמות של בקר ופעולות במפורש.