首页 > 其他分享 >Taurus.MVC WebMVC 入门开发教程6:路由配置与路由映射

Taurus.MVC WebMVC 入门开发教程6:路由配置与路由映射

时间:2024-03-01 11:36:50浏览次数:40  
标签:WebMVC 教程 映射 Taurus MVC 路由

前言:

在本篇 Taurus.MVC WebMVC 入门开发教程的第六篇文章中,

我们将讨论如何配置路由并映射到控制器和操作方法。

路由是决定应用程序如何响应客户端请求的重要组成部分,因此在 Web 开发中非常重要。

我们将继续使用 Taurus.Mvc 命名空间,并探讨如何在应用程序中配置路由。

步骤1:了解路由

在 Taurus.MVC WebMVC 中,路由是用于确定请求应该映射到哪个控制器和操作方法的机制。

每个路由都有一个 URL 模板,用于匹配请求的 URL,并将其映射到相应的控制器和操作方法。

例如,URL /Home/Index 可以映射到 HomeController 类的 Index 方法,这样就可以显示主页视图。

步骤2:配置路由

在 Taurus.MVC WebMVC 中,通常使用默认:/控制器/方法名 的默认机制。

当然,除了默认的机制,还有其它几种机制,可以变更路由。

A、通过特性配置:RoutePrefix 路由前缀,改变控制器映射

[RoutePrefix("my")]
public class HomeController : Taurus.Mvc.Controller
{
    public void Index()
    {
       
    }
}

以上代码,它可以变更原来的访问地址: /home/index 为 /my/index

RoutePrefix 支持配置多个,以支持多个路径映射,虽然感觉没啥意义,但框架仍然支持它。

同时,使用路径变更前缀时,默认原有请求路径将被禁用。

如果仍然想保留使用旧路径,可以使用第二个参数 IsKeepOriginalPath 启用它:

[RoutePrefix("my",true)]

B、通过特性配置:Route 路由前缀,改变方法映射

[RoutePrefix("my")]
public class HomeController : Taurus.Mvc.Controller
{
    [Route("home")]
    public void Index()
    {
     
    }

}

可以变更原来的访问地址: /home/index 为 /my/home

注意,上述代码中:Route 的映射地址,不以 / 开头。

如果以 / 开头,则会成忽略控制器前缀,独立成地址,你需要配置成:

[Route("/my/home")]

上述代码示例,是比较简单的应用,但已满足日常开发所需要。

当然框架也提供了代码的方式,可以使用代码来动态自定义路由。

步骤3:自定义路由

如果以上的方式都无法满足您的需求,您可能是需要在运行时动态改变路由地址:

那么您可以看一下路由的详细介绍篇:Taurus.MVC WebAPI 入门开发教程3:路由类型和路由映射

上述链接的文章中,更详细介绍了框架中的路由的相关知识。

通过本篇文章,和路由详情篇的学习,您将对框架的路由有深刻的认识,并掌握其使用和操作方法。

步骤4:运行应用程序

最后,运行应用程序并在浏览器中输入不同的 URL,观察路由的映射效果。

您可以尝试输入 /Home/Index/my/index 等 URL,查看不同的控制器和操作方法如何响应请求。

总结

通过本篇教程,我们学习了如何在 Taurus.MVC WebMVC 中配置路由并将其映射到控制器和操作方法。

我们学习了默认路由和自定义路由的创建方法,并了解了不同 URL 对控制器和操作方法的影响。

本系列的目录大纲为:

Taurus.MVC WebMVC 入门开发教程1:框架下载环境配置与运行

Taurus.MVC WebMVC 入门开发教程2:一个简单的页面呈现

Taurus.MVC WebMVC 入门开发教程3:数据绑定Model

Taurus.MVC WebMVC 入门开发教程4:数据列表绑定List<Model>

Taurus.MVC WebMVC 入门开发教程5:表单提交与数据验证

Taurus.MVC WebMVC 入门开发教程6:路由配置与路由映射

Taurus.MVC WebMVC 入门开发教程7:部分视图和页面片段

标签:WebMVC,教程,映射,Taurus,MVC,路由
From: https://www.cnblogs.com/cyq1162/p/18031062

相关文章

  • Vue Router系列之(一)路由
    路由1.SPA应用单页Web应用(singlepagewebapplication,SPA)。整个应用只有一个完整的页面(index.html)。点击页面中的导航链接不会刷新页面,页面不会跳转,只会做页面的局部更新。数据需要通过ajax请求获取。注:多页面应用,多个页面来回跳来跳去2.什么是路由?一个路由(route......
  • Vue Router系列之(四)嵌套路由
    嵌套(多级)路由展示区中包含了新的导航区和展示区配置路由规则,使用children配置项:routes:[ //routes中直接配置的是一级路由 { path:'/about', component:About, }, { path:'/home', component:Home, children:[//通过children配置子级路由 { path:'n......
  • Vue Router系列之(七)路由的props配置项
    路由的props配置项​ 路由组件读取其他组件传递的参数时,是通过$route.params.id这种方式读取的,$route.params部分代码冗余度高,如何能够降低这种冗余?props配置项可以做到​ 作用:让路由组件更方便的收到参数{ name:'xiangqing', path:'detail/:id', component:Detail,/......
  • Vue Router系列之(六)命名路由
    命名路由命名路由:给你的路由规则起个名字作用:可以简化路由的跳转【路由层级比较多时】。如何使用给路由规则命名:{ path:'/demo', component:Demo, children:[ { path:'test', component:Test, children:[ {name:'hello'//通......
  • Vue Router系列之(五)路由传参
    路由传参如何给路由组件传递参数点击导航区的时候将数据带给路由组件,展示区根据数据渲染组件,渲染的都是同一个组件,只不过数据不同路由组件可以接收两种参数:query参数和params参数这两种参数的写法与Ajax中query参数和params参数的写法是一样的1.query参数传递参数<!--......
  • Vue Router系列之(十)缓存路由组件
    缓存路由组件完善路由的技巧作用:让不展示的路由组件保持挂载,不被销毁。​ 正常情况下,进行了路由跳转后,之前的组件会被销毁,如果之前的组件中存在input框之类的表单类组件,输入的内容也就消失了,也就是说,要保证路由跳转后不销毁之前的组件具体编码://缓存的对象:并不是所有路......
  • Vue Router系列之(九)编程式路由导航
    编程式路由导航作用:不借助<router-link>实现路由跳转,让路由跳转更加灵活。为什么需要除了<router-link>标签之外实现路由跳转的方式?<router-link>标签最后变为<a>标签,无法实现button按钮的跳转触发路由跳转可能需要异步触发,<router-link>标签也无法实现具体编码://$ro......
  • Vue Router系列之(十二)路由守卫
    路由守卫作用:对路由进行权限控制,满足一定条件才能看到跳转到的路由组件分类:全局守卫、独享守卫、组件内守卫全局守卫://src/router/index.js//router:我们创建的路由器实例//router.beforeEach(function):每一次进行路由跳转之前都会帮我们调用我们传入的函数//全......
  • 华为AR路由器根据源地址筛选分流
    1方案背景1、公司接入2配置方案参考链接:https://forum.huawei.com/enterprise/zh/thread/5809121742709227521、创建ACL指定匹配规则<AR>system-view//先从用户视图切换到系统视图再进行配置[AR]aclnumber3999//创建高级ACL3999[AR-acl-adv-3999]rule5......
  • ASP.NET Core MVC应用模型的构建[4]: Action的选择
    ControllerModel类型的Actions属性包含一组描述有效Action方法的ActionModel对象。对于定义在Controller类型中的所有方法,究竟哪些方法才能成为有效的Action方法呢?所以在正式介绍ActionModel类型之前,我们先来聊聊Action方法的选择规则。一、Action方法的选择二、ActionModel三、......