ASP.NET Core 属性路由 - ASP.NET Core 基础教程 - 简单教程,简单编程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ASP.NET Core 属性路由 - ASP.NET Core 基础教程 - 简单教程,简单编程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2389字,纯文字阅读大概需要4分钟。
内容图文
原文:ASP.NET Core 属性路由 - ASP.NET Core 基础教程 - 简单教程,简单编程
ASP.NET Core 属性路由
经过前面章节的学习,想必你已经对 ASP.NET Core MVC 中的路由有了大概的了解,本来我想多花几章节来讲解路由规则,但是,作为基础教程,我们还是讲解下一个知识点吧。
在本章中,我们将学习另一种路由方法,即基于属性的路由。
属性路由
通过基于属性的路由,我们可以在控制器类和这些类的内部方法上使用 C#
属性。 这些属性携带了告诉 ASP.NET Core 何时调用特定控制器的元数据
- 属性路由是基于约定的路由的替代方案
- 路由按照它们出现的顺序进行评估,也就是我们注册它们的顺序,映射多个路由的情况相当普遍,特别是如果我们想在 URL 中使用不同的参数或者如果要在 URL 中使用不同的文字
我们举一个简单的例子。
打开并运行 HelloWorld 项目,然后在浏览器中访问应用程序。当我们访问 / about
时,它会产生下面的输出
我们想要的是,当我们访问 /about
时,应用程序应该调用 AboutController
的 Phone
方法
针对这种情况,我们可以使用 Microsoft.AspNetCore.Mvc
命名空间下的 Route
属性为该控制器强制执行一些显式路由
下面的代码是添加了属性路由的 AboutController
的实现
using System; using Microsoft.AspNetCore.Mvc; namespace HelloWorld.Controllers { [Route("about")] public class AboutController { public AboutController() { } [Route("")] public string Phone() { return "+10086"; } [Route("country")] public string Country() { return "中国"; } } }
在这里,我们给 Phone()
方法添加了一个空的路由属性,这意味用户只需要访问 /about
,而不需要指定操作就可以访问此方法。对于 country
方法,我们在路由属性中指定了 country
保存下 AboutController.cs
,刷新浏览器并访问 /about
,我们可以看到正常输出了电话号码
如果我们访问 /about/country
,那么这将访问 AboutController
控制器中的 Country()
方法
如果希望 URL 的一段包含我们的控制器的名称,那么我们可以不直接显示指定控制器的名称,取而代之的是在方括号内使用令牌控制器,这用于告诉 ASP.NET MVC 在此位置使用此控制器的名称
如以下程序中所示
using System; using Microsoft.AspNetCore.Mvc; namespace HelloWorld.Controllers { [Route("[controller]")] public class AboutController { public AboutController() { } [Route("")] public string Phone() { return "+10086"; } [Route("[action]")] public string Country() { return "中国"; } } }
使用这种方式,即使我们重命名路由器,也不必去更改路由。 对于一个动作也是一样,并且隐式地在控制器和动作之间有一个斜杠 ( /
) 。 它是控制器和动作之间的层次关系,就像它在 URL 中一样
我们再次保存这个 AboutController.cs
文件,重新运行应用程序,我们会看到相同的结果
如果我们访问 /about/country
,那么这将访问 AboutController
控制器中的 Country()
方法
内容总结
以上是互联网集市为您收集整理的ASP.NET Core 属性路由 - ASP.NET Core 基础教程 - 简单教程,简单编程全部内容,希望文章能够帮你解决ASP.NET Core 属性路由 - ASP.NET Core 基础教程 - 简单教程,简单编程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。