【发布时间】:2020-05-31 15:31:42
【问题描述】:
我们正在将我们的应用程序从 ASP.NET Core 2.2 项目升级到使用端点路由的 ASP.NET 3.0。我被困在“未找到网页”的以下问题上。我相信我对 ASP.NET 3.0 应用了正确的更改,并且我尝试了各种更改。
这里是 asp.net core 2.2 代码区
startup.cs
public void ConfigureServices(IServiceCollection services)
......
//Asp.net Core 2.2
services.AddRouting();
//AddMvc
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
.AddViewLocalization(
LanguageViewLocationExpanderFormat.Suffix, options => { options.ResourcesPath = "Areas\\Resources"; })
.AddDataAnnotationsLocalization();
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
.....
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
//
routes.MapRoute(name: "Navigation", template: "Navigation/{controller}/{action}/{id?}";
我们用 :
装饰我们的控制器 namespace Areas.Navigation.Controllers
{
[Area("Navigation")]
[Route("[area]/[controller]/[action]")]
public class NavigationHomeController : Controller
{.......
这是我们更改的 asp.net 3.0 代码区域
startup.cs
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
//Endpoints Start
endpoints.MapAreaControllerRoute(areaName: "Navigation", name: "Navigation", pattern: "Navigation/{controller}/{action}/{id?}");
我的 Razor 页面包括以下内容:
<a asp-area="Navigation" asp-controller="NavigationHome" asp-action="IndexAsync">Navigation</a>
我遇到了以下问题
【问题讨论】:
标签: c# asp.net-core-3.0 asp.net-core-routing