在Core中使用MVC路由的配置


本文摘自PHP中文网,作者Y2J,侵删。

这篇文章主要介绍了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方法,加入如下代码

1

services.AddMvc();

这个扩展方法把Mvc的一些服务都注入到容器中

在Configure方法,注释最后兜底的那个“hello world”语句,这个语句的作用是不管什么请求都它来负责。

然后在Configure方法加入如下代码

1

app.UseMvcWithDefaultRoute();

这个扩展方法实际上使用了一个Middleware,默认的Url template跟之前MVC版本的一致,上述代码等同于以下效果

1

2

3

4

5

6

7

8

app.UseMvc(routes =>

   {

    routes.MapRoute(

     name: "Default",

     template: "{controller}/{action}/{id?}",

     defaults: new {controller = "Home", action = "Index"}

    );

   });

最终的Startup.cs代码如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

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里面实现智能感知,支持静态文件路由等还得加入更多的依赖和配置。

【相关推荐】

1. ASP免费视频教程

2. ASP教程

3. 李炎恢ASP基础视频教程

以上就是在Core中使用MVC路由的配置的详细内容!

相关阅读 >>

MVC页面之间参数传递的实例解析

在core中使用MVC路由的配置

实现MVC文件上传支持批量上传拖拽及预览文件内容校验功能的代码示例

详解jsonresult的使用方法

MVC form表单提交的几种形式整理总结

更多相关阅读请进入《MVC》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...