【问题标题】:Force all Urls having a query parameter in ASP.NET Core强制在 ASP.NET Core 中具有查询参数的所有 Url
【发布时间】:2018-10-14 00:08:26
【问题描述】:

有没有办法强制使用 UrlHelper 构建的所有 Url 包含特定参数? 这个想法是一旦我设置了一个特定的参数以始终在链接上跟随它。

我使用以下代码生成大部分网址:Url.RouteUrl("MyRoute", new {myparam = 1})

我想做的事: 我去https://example.com?myparam=1 我希望页面上生成的所有链接都包含myparam=1 参数。如果没有指定参数,则 url 不应包含它。

我正在考虑扩展UrlHelper,覆盖RouteUrl 方法(我只使用这个),扩展参数并将此类注册为服务,但由于参数作为匿名类传递,因此似乎很复杂。 ..

有没有更好的方法来达到这种行为?

【问题讨论】:

    标签: asp.net-core urlhelper


    【解决方案1】:

    您可以使用会话变量或 cookie 来执行此操作,然后根据需要使用。您的解决方案似乎在出现问题时风险更大。

    【讨论】:

    • 这是我想到的一个选项,但它主要用于调试/内部使用目的(在激活特定选项的情况下浏览网站),因此没有太大风险。
    • 另一个选项是添加角色或声明以指示“调试器”或类似内容,然后可以按用户设置并打开/关闭?
    • 明确一点:这个“调试”的目的是总结特定页面使用的所有资源。它可以登录也可以不登录(这就是为什么用户不好,但cookie可能是)。激活此标志时,所有资源均按布局显示在页面末尾。
    猜你喜欢
    • 2018-07-09
    • 2020-10-15
    • 2011-03-24
    • 2022-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-19
    • 2020-01-06
    相关资源
    最近更新 更多