关于asp.netCore3.0区域和路由配置
?在ASP.NET Core 3.0中路由配置和2.0不一样了 一、MVC 服务注册 ASP.NET Core 3.0 添加了用于注册内部的 MVC 方案的新选项Startup.ConfigureServices。 public void ConfigureServices(IServiceCollection services) { services.AddControllers(); }
public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews(); } 下面的示例添加支持 Razor 页面和最小控制器支持。 Web 应用程序模板使用此代码: public void ConfigureServices(IServiceCollection services) { services.AddRazorPages(); } 此外可以组合的新方法。 下面的示例是等效于调用AddMvcASP.NET Core 2.2 中: public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddRazorPages(); } 二、Startup.Configure配置 一般不建议: public void Configure(IApplicationBuilder app) { ... app.UseStaticFiles(); app.UseAuthentication(); app.UseSignalR(hubs => { hubs.MapHub<ChatHub>("/chat"); }); app.UseMvc(routes => { routes.MapRoute("default","{controller=Home}/{action=Index}/{id?}"); }); } ? 现在的控制器映射内发生UseEndpoints。 添加MapControllers如果应用使用属性路由。 由于路由包括对许多框架在 ASP.NET Core 3.0 或更高版本的支持,添加属性路由的控制器是参加。 将为以下内容: 现在映射 Razor 页面内发生UseEndpoints。 更新后asp.netCore3.0中Startup.Configure代码:? public void Configure(IApplicationBuilder app,IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios,see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseCookiePolicy(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default",pattern: "{controller=Home}/{action=Index}/{id?}"); endpoints.MapAreaControllerRoute( name: "areas","areas",pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}"); endpoints.MapRazorPages(); }); } 如果要进行分区路由,需要在控制器Controller头加Area和Route标签,否则不能像在asp.netCore2.0中自动路由控制器和Action。示例代码如下: namespace WebApplication1.Areas.CMS.Controllers { [Area("CMS")] [Route("CMS/[controller]/[action]")] public class NewsController : Controller { public IActionResult Index() { return View(); } public IActionResult List() { return View(); } } } 这两句一定要加[Area("CMS")]、[Route("CMS/[controller]/[action]")]
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – 在MVC3中对Webgrid行进行内联编辑
- entity-framework-4 – 首先在实体框架代码中使用导航属性
- 是否有比ASP.NET成员资格提供程序更现代的会员/安全性实现
- asp.net-mvc – 尝试方法… HttpConfiguration …访问方法…
- 使用System.Net.Mail中的SMTP发送邮件(带附件)
- asp.net – 在序列化“System.Reflection”类型的对象时检测
- asp.net-core – 如何将值更新到appsetting.json?
- asp.net-mvc – 返回修改后的viewModel进行查看
- asp.net – 使用回发解析.Net页面
- asp.net-mvc-3 – ASP.NET MVC中全局错误/异常处理的最佳实
- asp.net – 登录后重定向到上一页
- asp.net-mvc – HttpCache vs Singleton – MVC应
- .net – 数据绑定到LINQ到实体时的重复行
- asp.net – 如何解码RDP服务器的远程资源URL(web
- asp.net-mvc-3 – ASP.NET MVC3 – DateTime格式
- asp.net – 设置debug =“false”时出现“请求超
- asp.net-mvc – 你相信ASP.Net MVC已经准备好了吗
- asp.net-mvc – 模型绑定下拉列表选择的值
- asp.net-mvc-3 – 在远程部署MVC3时获取“CS0103
- asp.net-mvc – 我可以在MVC3中共享创建和编辑的