MVC1002: Route attribute cannot be applied to page handler methods
Value | |
---|---|
Rule ID | MVC1002 |
Fix is breaking or non-breaking | Non-breaking |
Cause
An attribute implementing IRouteTemplateProvider was applied to a Razor Page handler method.
Rule description
Razor Page handler methods are selected after routing is completed, and consequently cannot contribute a route. Applying a route attribute such as HttpGet
or HttpPost
to a Razor Page handler is not supported.
public class IndexModel : PageModel
{
[HttpGet("/my-url")]
public IActionResult OnGet() => Page();
}
How to fix violations
Remove the route attribute from the handler. Routes can be specified for a Razor Page using an @page
directive or by using conventions. For more information, see custom routes in Razor Pages.
When to suppress warnings
Don't suppress warnings from this rule.
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.
ASP.NET Core