ASP.NET Core中使用默认MVC路由的配置
发布时间 - 2026-01-10 22:59:18 点击率:次ASP.NET Core里Route这块的改动不大,只是一些用法上有了调整,提供了一些更加简洁的语法。

而对于自定义路由的支持当然也是没有问题的,这个功能应该是从MVC1.0版本就已经有这个功能。
先看看ASP.NET Core里面实现默认MVC路由的配置方式
通常情况下,在使用MVC项目的时候,默认的路由就足够了,就是常见的通过Controller和Action获取具体的方法的方式。
从一个最基本的项目开始,执行以下步骤,就可以使得项目支持MVC路由
1.创建一个空白的ASP.NET Core(Empty) Web项目
2.打开project.json,在”dependencies”节点下增加如下依赖项目
"Microsoft.AspNetCore.Mvc": "1.0.0"
保存之后,项目会自动restore packages到本地
3.加入默认MVC路由配置
打开Startup.cs文件
在ConfigureServices方法,加入如下代码
services.AddMvc();
这个扩展方法把Mvc的一些服务都注入到容器中
在Configure方法,注释最后兜底的那个“hello world”语句,这个语句的作用是不管什么请求都它来负责。
然后在Configure方法加入如下代码
app.UseMvcWithDefaultRoute();
这个扩展方法实际上使用了一个Middleware,默认的Url template跟之前MVC版本的一致,上述代码等同于以下效果
app.UseMvc(routes =>
{
routes.MapRoute(
name: "Default",
template: "{controller}/{action}/{id?}",
defaults: new {controller = "Home", action = "Index"}
);
});
最终的Startup.cs代码如下
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
//app.Run(async (context) =>
//{
// await context.Response.WriteAsync("Hello World!");
//});
app.UseMvcWithDefaultRoute();
}
}
4.到此配置已经完成,但是运行站点直接显示404,没显示Hello world说明已经生效了,只是Empty的项目没有Controller,那么定义一个Controller吧。
手动在项目根目录创建Controllers目录,然后新建一个Controller,名字为HomeController,然后直接运行网站(应该刷新一下就可以了)。
站点继续提示错误,但不是404了,是提示找不到Index这个View。
继续在项目根目录创建Views目录,然后在Views目录下新建一个Home目录,在Home目录新建一个Index.cshtml,填写一些内容,再次刷新就可以了。
当然这是最基本的配置,比如要进一步支持在cshtml里面实现智能感知,支持静态文件路由等还得加入更多的依赖和配置。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# asp.net
# mvc
# 默认路由
# 路由
# 路由配置
# ASP.NET Core中MVC模式实现路由二
# ASP.NET Core中MVC模式实现路由一
# ASP.NET Core MVC学习教程之路由(Routing)
# 详解ASP.NET Core MVC 源码学习:Routing 路由
# ASP.NET Core MVC 配置全局路由前缀
# ASP.NET Core MVC路由(Routing)的用法
# 就可以
# 新建一个
# 这是
# 找不到
# 是从
# 自定义
# 还得
# 这块
# 到此
# 创建一个
# 它来
# 大家多多
# 情况下
# 使用了
# 目录下
# 要进一步
# 足够了
# ConfigureServices
# brush
# class
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
nginx修改上传文件大小限制的方法
网站建设保证美观性,需要考虑的几点问题!
微信小程序 五星评分(包括半颗星评分)实例代码
Swift中switch语句区间和元组模式匹配
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
中山网站推广排名,中山信息港登录入口?
Laravel如何使用withoutEvents方法临时禁用模型事件
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
Laravel怎么清理缓存_Laravel optimize clear命令详解
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
实例解析angularjs的filter过滤器
焦点电影公司作品,电影焦点结局是什么?
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
Laravel如何使用查询构建器?(Query Builder高级用法)
lovemo网页版地址 lovemo官网手机登录
如何在Windows服务器上快速搭建网站?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
米侠浏览器网页背景异常怎么办 米侠显示修复
MySQL查询结果复制到新表的方法(更新、插入)
大学网站设计制作软件有哪些,如何将网站制作成自己app?
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
PHP正则匹配日期和时间(时间戳转换)的实例代码
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
如何在Ubuntu系统下快速搭建WordPress个人网站?
如何在建站之星绑定自定义域名?
Laravel Fortify是什么,和Jetstream有什么关系
如何快速重置建站主机并恢复默认配置?
Laravel怎么上传文件_Laravel图片上传及存储配置
如何在 Pandas 中基于一列条件计算另一列的分组均值
简单实现Android文件上传
免费网站制作appp,免费制作app哪个平台好?
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】
手机软键盘弹出时影响布局的解决方法
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
如何快速查询域名建站关键信息?
如何快速搭建高效WAP手机网站?
EditPlus中的正则表达式 实战(1)
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
Laravel怎么实现支付功能_Laravel集成支付宝微信支付
教你用AI润色文章,让你的文字表达更专业
简单实现jsp分页
如何自定义建站之星网站的导航菜单样式?

