Taurus.MVC WebMVC 入门开发教程6:路由配置与路由映射
  bIaTPaOtIHWP 2024年03月01日 19 0

前言:

在本篇 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:部分视图和页面片段
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年03月01日 0

暂无评论

推荐阅读
  2fqsT8Yu1xAt   13小时前   4   0   0 .NET
  OaxsuEwyxUZi   2天前   5   0   0 .NET
bIaTPaOtIHWP