MVC1002:无法将路由属性应用于页面处理程序方法

价值
规则 ID MVC1002
修复是中断修复还是非中断修复 Non-breaking

原因

实现 IRouteTemplateProvider 的特性已应用于 Razor 页面处理程序方法。

规则说明

Razor 完成路由后,会选择页面处理程序方法,因此无法提供路由。 不支持将路由属性(例如 HttpGetHttpPost)应用于Razor Page 处理程序。

public class IndexModel : PageModel
{
    [HttpGet("/my-url")]
    public IActionResult OnGet() => Page();
}

如何修复违规行为

从处理程序中删除路由属性。 可以使用@page 指令或约定为 Razor Page 指定路由。 有关详细信息,请参阅 Pages 中的 Razor 自定义路由

何时禁止显示警告

不要禁止显示此规则的警告。