This is a mirror of official site: http://jasper-net.blogspot.com/

ASP.NET MVC 3.0 Internals

| Friday, April 8, 2011
ASP.NET MVC 3.0 Internals
בפוסט זה אני רוצה לכתוב על איך עובד ה- ASP.NET MVC 3.0 ואיפה אפשר להרחיב ולשנות את הטכנולוגיה.

אני מחלק את הפוסט לארבעה חלקים:

1. החיבור בין ASP.NET ל- ASP.NET MVC
2. Controller Extensibility
3. Model Extensibility
4. View Extensibility

1. החיבור בין ASP.NET ל- ASP.NET MVC.
ה- MVC חי בתוך ה- ASP.NET וכדי לשנות את סדר הפעולות שקורות ב- ASP.NET הוא משתמש במנגנון ה- Routing שנוסף בדוט-נט 4, הוא רושם אוביקט Route ל- RouteTable.

clip_image002_thumb_7B0D9450.png

ב- Global.asax.cs אנחנו יכולים לראות את הקוד הבא:

routes.MapRoute(
    "Default",                    // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new                           // Parameter defaults
    {
       controller = "Home",
       action     = "Index",
       id         = UrlParameter.Optional
    }
);

המתודה MapRoute היא Extension Method תפקידה ליצור אוביקט Route שמקשר בין ה- "{controller}/{action}/{id}" ל- MvcRouteHandler. אם מסתכלים בתוך הקוד של המתודה MapRoute נמצא את השורות הבאות:

var route = 
     new Route( url , new MvcRouteHandler() )
     {
        Defaults    = new RouteValueDictionary(defaults),
        Constraints = new RouteValueDictionary(constraints),
        DataTokens  = new RouteValueDictionary()
     };

Read more: I Love C#

Posted via email from Jasper-net

0 comments: