【问题标题】:dotnet map default parameter values when using route attributedotnet 使用路由属性时映射默认参数值
【发布时间】:2021-03-16 12:28:31
【问题描述】:

所以我的 CMS 控制器有一个基类,它具有路由属性:

[Route("[area]/[controller]/[action]")]

我需要这个,因为我们在不同的地方使用[HttpGet("{name}")。 在启动时,我定义了一个默认值,包括 {area}

endpoints.MapControllerRoute(
    name: "default",
    pattern: "{area}/{controller}/{action}",
    defaults: new { area = "Start", controller = "Home", action = "Index" });

但这被忽略了,因为我用[Route][HttpGet] 属性覆盖了我的路由。如何为我的路线设置默认值?

之前我使用了从/ URL 到家庭控制器的永久重定向,但由于我将 blazor 与 SignalR 一起使用,由于 blazor 服务器的路由问题,这不再可能。


有没有办法在[Route] 属性中设置默认值?

【问题讨论】:

    标签: c# .net-core


    【解决方案1】:

    据我所知,这是不可能的。如果是,请纠正我。有类似情况的人的解决方法。这不是我最喜欢的,但它确实有效。

    因此,将[Route("/")] 属性附加到应为默认的任何操作。现在指向foobar.com/ 将打开您的“默认”操作。我宁愿在全局范围内定义它,而不是在动作上设置它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-17
      • 1970-01-01
      • 1970-01-01
      • 2014-07-29
      • 2014-01-28
      • 2020-04-15
      • 2013-10-01
      相关资源
      最近更新 更多