【问题标题】:Actionlink generating empty href when using URL GET parameter named 'page'使用名为“page”的 URL GET 参数时,Actionlink 生成空 href
【发布时间】:2019-03-07 17:39:14
【问题描述】:

我正在使用这个命令:

@Html.ActionLink("A link", "Index", "Home", new { page = 10 }, new { @class = "active" })

它返回这个:

<a class="active" href="">A link</a>

如果我将参数“page”切换为“pagee”(或任何其他名称),它会按预期工作:

@Html.ActionLink("A link", "Index", "Home", new { pagee = 10 }, new { @class = "active" })

<a class="active" href="/?pagee=10">A link</a>

这里是一些背景和我目前发现的。我正在使用带有身份验证“个人用户帐户”的 ASP .NET Core 2.2 MVC 模板,我收到此错误并且不明白为什么,所以我创建了相同的模板但没有进行身份验证,然后问题就消失了强>。

项目之间的唯一区别是,当您使用身份验证时,它会为身份创建一个文件夹“区域”,可能参数“页面”已保留且无法使用,或者路由问题?抱歉,我是 ASP .NET Core 新手,不知道如何解决。

我真的想要一个用于我的项目的身份验证系统,但如果这个问题仍然存在,我想我会继续没有它。请发送 halp。

【问题讨论】:

  • 是的,"page" 是reserved routing name
  • 就是这样!现在我明白了为什么,我使用ReflectionIT.Mvc.Paging 进行分页,在它的实现中它使用页面参数。有没有其他好的分页系统工具?
  • 你找到解决办法了吗?

标签: asp.net-identity asp.net-core-2.0 actionlink


【解决方案1】:

那你可以试试这个solution

Startup.cs

在 ConfigureServices 方法集中:

services.AddPaging(options => {
    options.ViewName = "Bootstrap4"
    options.PageParameterName = "pageindex";
});

“向 PagingOptions 添加了 PageParameterName。您可以将其设置为例如 pageIndex。确保您还重命名了 Actions 的参数。”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多