全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

ASP.NET Core中使用默认MVC路由的配置

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 


相关文章: 如何获取PHP WAP自助建站系统源码?  建站主机选哪家性价比最高?  威客平台建站流程解析:高效搭建教程与设计优化方案  高端建站如何打造兼具美学与转化的品牌官网?  如何快速完成中国万网建站详细流程?  如何用y主机助手快速搭建网站?  建站之星后台管理系统如何操作?  高性价比服务器租赁——企业级配置与24小时运维服务  开封网站制作公司,网络用语开封是什么意思?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  实现虚拟支付需哪些建站技术支撑?  非常酷的网站设计制作软件,酷培ai教育官方网站?  如何快速搭建响应式可视化网站?  自助网站制作软件,个人如何自助建网站?  香港服务器WordPress建站指南:SEO优化与高效部署策略  如何在IIS管理器中快速创建并配置网站?  TestNG的testng.xml配置文件怎么写  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  如何通过VPS建站无需域名直接访问?  如何用腾讯建站主机快速创建免费网站?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  建站之星安全性能如何?防护体系能否抵御黑客入侵?  如何在Golang中引入测试模块_Golang测试包导入与使用实践  北京的网站制作公司有哪些,哪个视频网站最好?  小型网站制作HTML,*游戏网站怎么搭建?  微信小程序 input输入框控件详解及实例(多种示例)  网站制作培训多少钱一个月,网站优化seo培训课程有哪些?  实例解析Array和String方法  宁波自助建站系统如何快速打造专业企业网站?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  定制建站如何定义?其核心优势是什么?  如何配置FTP站点权限与安全设置?  简历在线制作网站免费,免费下载个人简历的网站是哪些?  C++如何使用std::optional?(处理可选值)  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  如何在云指建站中生成FTP站点?  如何用免费手机建站系统零基础打造专业网站?  如何通过虚拟主机快速搭建个人网站?  如何在建站主机中优化服务器配置?  如何快速搭建支持数据库操作的智能建站平台?  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  php8.4新语法match怎么用_php8.4match表达式替代switch【方法】  宿州网站制作公司兴策,安徽省低保查询网站?  教程网站设计制作软件,怎么创建自己的一个网站?  如何快速搭建二级域名独立网站?  建站之星展会模版如何一键下载生成?  广州网站建站公司选择指南:建站流程与SEO优化关键词解析 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。