【发布时间】:2020-05-02 22:23:37
【问题描述】:
我试图将我的应用程序从 asp.net core 2.1 迁移到使用属性路由的 3.0
我的启动文件的 ConfigureServices 和 Configure 方法:
public void ConfigureServices(IServiceCollection services)
{
services.ConfigureOptions(typeof(ABCClass));
services.AddTransient<ITagHelperComponent, XYZTagHelperComponent>();
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseStaticFiles();
app.UseMvcWithDefaultRoute();
}
我已将 services.AddMvc(); 替换为 services.AddMvc(options => options.EnableEndpointRouting = false); 以禁用端点路由
我的操作方法:
[Route("")]
[Route("Machines")]
public async Task<ViewResult> GetMachinesAsync()
{
return View("MachineView");
}
第一次使用 MachineView 加载我的应用程序,但是当我尝试对其调用相同的操作方法时出现 404 错误(找不到页面)
来自 .cshtml 文件的操作调用:
<li class="nav-item">
<a class="nav-link"
href="@Url.Action("GetMachinesAsync", "Machine")">
Machines
</a>
</li>
如果我在这里遗漏了什么,或者我在配置中间件以进行路由时做错了什么,请您帮帮我。
提前致谢。
【问题讨论】:
标签: asp.net-core asp.net-core-2.1 asp.net-core-3.0 asp.net-core-routing