美文网首页
MVC路由的理解

MVC路由的理解

作者: 张中华 | 来源:发表于2018-12-29 23:21 被阅读4次

学习地址:https://www.cnblogs.com/zeusro/p/RouteConfig.html,
https://www.cnblogs.com/cklovefan/p/7785307.html

MVC中路由的作用

url Routing的作用是将浏览器的URL请求映射到特定的MVC控制器动作。

当我们访问http://localhost:8080/Home/Index 这个地址的时候,请求首先被UrlRoutingModule截获,截获请求后,从Routes中得到与当前请求URL相符合的RouteData对象, 将RouteData对象和当前URL封装成一个RequestContext对象,然后从Requestcontext封装的RouteData中得到 Controller名字,根据Controller的名字,通过反射创建控制器对象,这个时候控制器才真正被激活,最后去执行控制器里面对应的 action。

根据项目的理解

新建一个mvc 4的项目,会再app_start文件夹中发现如下几个类,其中便又RouterConfig.cs.



在该类中包含的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace RouterExercise
{
    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 }
            );
        }
    }
}

在Global.cs中代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;

namespace RouterExercise
{
    // 注意: 有关启用 IIS6 或 IIS7 经典模式的说明,
    // 请访问 http://go.microsoft.com/?LinkId=9394801

    public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
    }
}

待续……

相关文章

  • MVC路由的理解

    学习地址:https://www.cnblogs.com/zeusro/p/RouteConfig.html,ht...

  • Phalcon#基本功能#路由

    Phalcon\Mvc\Router 提供了高级路由支持,在 MVC 模式下可以自定义路由映射到指定的控制器和动作...

  • MVC路由

    1.定义多个路由 例一: 1.名称:不能重复 URL模式:规定url的形式 3.默认值:和上面的url对应,控制器...

  • asp.net core 系列 6 MVC框架路由(下)

    一.URL 生成 接着上篇讲MVC的路由,MVC 应用程序可以使用路由的 URL 生成功能,生成指向操作的 URL...

  • 1.谈一下对 MVVM 的理解

    MVC 传统的 mvc 指的是,用户操作会请求服务端路由,路由会调用对应的控制器来处理,控制器会获取数据,将结果返...

  • Vue概览

    MVC / MVVM MVC就是针对后端MVC就是,控制路由跳转,就是控制器;[(对应模型文件夹,和数据库交互),...

  • ASP.NET WEB API 之属性路由

    以下为常规MVC路由 如果我们要实现类似以下效果路由的话,使用常规公约路由比较麻烦。 如果使用属性路由的话就比较简...

  • 如何使用ui-router?

    如何使用ui-router? 一.背景介绍 angular路由 路由(route),几乎所有的MVC(VM)框架都...

  • Python Web框架--框架Flask--路由(二)

    一、路由 路由通过使用Flask的app.route装饰器来设置,这类似Java的Spring Web MVC。 ...

  • ASP.NET Core 入门教程 3、ASP.NET Core

    一、前言 1、本文主要内容 ASP.NET Core MVC路由工作原理概述 ASP.NET Core MVC带路...

网友评论

      本文标题:MVC路由的理解

      本文链接:https://www.haomeiwen.com/subject/rplmlqtx.html