【发布时间】:2012-12-29 09:27:30
【问题描述】:
我有一个只有一个网络表单的web forms 应用程序。作为custom paging 的一部分,我在网格视图下的每个索引页都有hyperlinks。这些超链接 url 位置指向同一页面,所需页面的索引号附加为query string。
string url = requestUrl;
int position = requestUrl.IndexOf('?');
if (position > 0)
{
url = requestUrl.Substring(0, position);
}
string link = "<a href='" + url + "?Index=[Index]&Size=[Size]'><span class='page-numbers'>##Text##</span></a>";
每次单击特定页面的超链接时,都会从数据库中检索数据。因此,我还需要将搜索参数传递给新索引的页面。我可以将它作为查询字符串传递。但挑战是在某些情况下参数内容长度可能超过查询字符串限制。
当点击超链接时,将搜索参数传递给新页面的最佳方法是什么?
注意:分页的简化示例可以参考custom-paging-in-asp-net-web-application
注意:原则是不要使用超过 2000 个字符的 URL
编辑
根据答案,我使用的是 LinkButtons 而不是 Hypelinks。 LinkButton 可以做一个Postback。另外,我以分页逻辑在User Control 中的方式分离了代码。它不需要任何业务特定数据和搜索参数。这段代码可见https://codereview.stackexchange.com/questions/20510/custom-paging-in-asp-net-web-application
参考文献:
【问题讨论】: