.Net Core 项目区域请求设置
.net core 和asp.net MVC区域请求有个区别,这里重点记录一下
asp.net MVC 区域请求直接是/区域名称/控制名称/方法名称,其他不需要设置任何东西,而Core 项目这样请求路径没有错,
只是需要另外设置以下内容,否则,请求404。
区域结构如下:
1、需要定义区域名称
using Microsoft.AspNetCore.Mvc; namespace ProjectTest.Areas.Product.Controllers {
//注:这里的名称必须和区域名称一致 [Area("Product")] public class RedController : Controller { public IActionResult Index() { return View(); } } }
2、Startup.cs文件Configure 方法添加如下配置,添加区域的路由:
app.UseMvc(routes => { routes.MapRoute( name: "areas", template: "{area:exists}/{controller}/{action}/{id?}" ); routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); });
注意这两点后,就可以直接进行访问了:
如上显示,我们请求地址必须是区域名称加控制器名称加方法名,如果有很多区域,那么请求地址都是不一样的,有时候在一个项目中,我们需要统一请求地址,
那么可以增加路由配置,如下:
using Microsoft.AspNetCore.Mvc; namespace ProjectTest.Areas.Product.Controllers { [Area("Product")] public class RedController : Controller { [Route("api/{Areas}/TestList")] public IActionResult Index() { return View(); } } }
设置了路由,原本的请求方式就请求不了了
必须要以我们的路由指定请求方式去请求