'Why are my Razor pages nav links not working using the default pipeline and configuration

I have several links in this base razor project. For some reason my links stopped working. Here is an example:

<a class="nav-link text-dark"  asp-controller="Contato" asp-action="Contato">Contato</a>

My project layout is pretty simple:

enter image description here

When I run the project and click on the non working link it goes to this url:

https://localhost:44372/?action=Contato&controller=Contato

However, when I navigate to the correct URL it works fine:

https://localhost:44372/Contato

I did not change any routing in the program.cs and use the default pipeline stuff:

builder.Services.AddRazorPages();
app.UseRouting();
app.MapRazorPages();

Any help in this routing issue?



Solution 1:[1]

There are no controllers or actions in a Razor Pages app - only pages. Therefore your anchor tag helpers should use the asp-page attribute:

<a class="nav-link text-dark"  asp-page="/Contato">Contato</a>

https://www.learnrazorpages.com/razor-pages/tag-helpers/anchor-tag-helper

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Mike Brind