gpt4 book ai didi

c# - ASP.NET MVC 分页,保留当前查询参数

转载 作者:行者123 更新时间:2023-11-30 18:10:23 24 4
gpt4 key购买 nike

我有一个包含联系信息的网格,我需要能够翻阅这些信息。

所有管道都已经到位,还有最后一个细节。分页是通过一个简单的 p Querystring 参数完成的,例如www.myurl.com/grid?p=3 将是第三页;存储库会自动获取正确的数据,以及项目的总数。每个页面的大小在其他地方定义,我不需要在查询字符串中担心。

但是,我也支持搜索等。在我的 Querystring 中搜索的搜索词表示为 q。所以现在我可以有一个组合:www.myurl.com/grid?q=tom&p=2 搜索“tom”并拉出第二页结果。

我现在面临的问题是,由于 q(或其他)参数可能出现在查询字符串中,我如何为此创建寻呼机(需要保持 原始参数,所以如果我点击“第 2 页”,它需要从

  • www.myurl.com/grid?a=1&b=xyz&q=tom

  • www.myurl.com/grid?a=1&b=xyz&q=tom&p=2

我该怎么做?

最佳答案

我昨天问过类似的问题。也许你想看看 Preserve data in .net mvc

以下是从 Steve Sanderson 的 book 复制的代码

public static class PagingHelpers
{
public static string PageLinks(this HtmlHelper html, int currentPage,
int totalPages, Func<int, string> pageUrl)
{
StringBuilder result = new StringBuilder();
for (int i = 1; i <= totalPages; i++)
{
TagBuilder tag = new TagBuilder("a"); // Construct an <a> tag

tag.MergeAttribute("href", pageUrl(i));
tag.InnerHtml = i.ToString();
if (i == currentPage)
tag.AddCssClass("selected");


result.AppendLine(tag.ToString());
}
return result.ToString();
}
}

关于c# - ASP.NET MVC 分页,保留当前查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1430595/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com