1。asp.net mvc URL routing

  • IIS determines the request should be handled by ASP.NET
  • The MvcHandler uses IControllerFactory to obtain an instance of IController using the "controller" route data from the route {controller}/{action}/{id}.

public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults ); } protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RegisterRoutes(RouteTable.Routes); }

  • The HomeController is found, and its Execute method is invoked
  • The HomeController invokes the Index action
  • The Index action adds some objects to the ViewData dictionary

public ActionResult Index() { ViewData["Message"] = "Welcome to ASP.NET MVC!"; return View(); }

  • ASP.NET renders the response to the browser.

<h2><%= Html.Encode(ViewData["Message"]) %></h2>

2.Controller两种形式

public ActionResult Index() { ViewData.Add("text", "Hello World2"); return View(); }

<h2><%=ViewData["text"]%></h2>

public ActionResult Index() { return View((object)"Hello World3"); }

<h2><%=Model %> I'm strongly typed in a layout.</h2>

asp.net mvc getting started with this framework

相关文章: