我正试图在我的项目中进行基于偏移量的分页,但遇到了一个问题。因此,我有一个链接,可以根据页码将用户重定向到特定页面(在这种情况下为I-(:
<a class="page-link" asp-route-pageNumber="@i"> @i </a>
但问题是,如果我想首先过滤我的表,例如userStatus为ACTIVE
(在我的情况下为1(,并且我已经分配了tableSize(仅显示5行(,我的URL将如下所示:
localhost:8080/users/?tableSize=5&userStatus=3
现在,如果我想转到第二个页面,该页面与URL上方的锚链接相同,则会覆盖,并且我的userStatus和tableSize查询参数都不存在,只有pageNumber!
localhost:8080/users/?pageNumber=2
如何使链接仅将pageNumber添加到现有URL作为查询参数,并在单击另一个页码链接时增加其值,如下所示:
localhost:8080/users/?tableSize=5&userStatus=3&pageNumber=2
我不想使用jQuery或JavaScript,但如果这是唯一或更好的方式,请随意分享!
当我点击特定的页码时,我试图使用JavaScript来触发点击事件,但这没有正常工作,因为每次我点击链接时,函数都会向URL添加另一个pageNumber参数,如果我首先检查URL,如果pageNumber存在,那么查询参数的值将混乱不堪。
如果您的当前url是localhost:8080/xxx/?tableSize=5&userStatus=3
,并且您想将tableSize
和userStatus
的值添加到<a class="page-link" asp-route-pageNumber="@i"> @i </a>
。您可以尝试以下代码:
@{
string tableSize= Context.Request.Query["tableSize"].ToString();
string userStatus= Context.Request.Query["userStatus"].ToString();
}
<a class="page-link" asp-route-pageNumber="@i" asp-route-tableSize=@tableSize asp-route-userStatus=@userStatus> @i </a>