c# - 路由添加静态段让分页更友好asp.net core

标签 c# asp.net-mvc asp.net-core asp.net-core-mvc

在我的网站中,我通过使用 slug 使我的 url 通常更加友好。我也想通过更改

使与分页相关的 url 信息更加友好
 www.example.com/controller/action/1  // 1 represents the page

 www.example.com/controller/action/page-1 

我不在乎这是否可能,但这是可取的。

我试着用

装饰我的 Action
[Route("action/page-{pagina?}")]
public IActionResult Action(int page= 1)

导航时得到这个。

可选参数“page”前面有一个无效段“page-”

最佳答案

我已经在我的 Startup.cs 中的 Configure 方法中成功完成了此操作

app.UseMvc(routes => {

  /* code removed for brevity */

  routes.MapRoute(
    name: "RouteName",
    template: "action/page-{pageNumber}",
    defaults: new { Controller = "YourController", Action = "Action" }
  );

});

然后您的 Controller 将是...

public IActionResult Action(int page= 1)

这取决于你是否需要使用属性路由。

关于c# - 路由添加静态段让分页更友好asp.net core,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45556472/

相关文章:

asp.net-core - 如何从 Controller 调用 View 组件

c# - 如何使用自定义宽高比统一构建项目?

c# - 带有重载的字符串比较

c# - 在 asp.net 中将字符串转换为 SQL Server uniqueidentifier

c# - 如何定义通用的通用类型属性?

c# - 最小 API 结果。确定不返回完整对象

c# - 在内部(在同一程序集中)将项目添加到 ReadOnlyCollection<T> 的最佳方法?

javascript - ajax 加载后 setInterval javascript 调用不会消失

c# - JSON post 在 IE 中有效,在 FF 中无效

asp.net-web-api - ASP .NET 5 WEB API 创建帮助页面