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内里完成智能感知,支撑静态文件路由等还得到场更多的依靠和设置。
【相干引荐】
1. ASP免费视频教程
2. ASP教程
3. 李炎恢ASP基本视频教程
以上就是在Core中运用MVC路由的设置的细致内容,更多请关注ki4网别的相干文章!