使用名为“ page”的URL GET参数时,Actionlink生成空的href

时间:2019-03-07 17:39:15

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

我正在使用以下命令:

@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模板,但遇到此错误并且无法理解原因,因此我创建了没有身份验证的相同模板,然后问题消失了

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

我真的很想为我的项目使用身份验证系统,但是如果这个问题仍然存在,我想我会继续使用它。请发送一半。

1 个答案:

答案 0 :(得分:0)

然后,您可以尝试此solution

Startup.cs

在ConfigureServices方法集中:

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

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