我们正在尝试围绕API构建分页模型,该模型将返回当前页面网址,上一页网址,下一页网址。
在我们的Controller方法中,我们几乎没有明确定义的查询参数,用户可以自己使用一些Query参数,这些参数将在控制器中使用
处理 HttpUtility.ParseQueryString(Request.RequestUri.Query)
在准备当前页面URL,上一页面URL,下一页面URL时,我们将修改限制偏移量并休息用户已经通过的所有查询参数。
有没有办法动态构建URL,因为我们可能不知道用户已经传递的所有查询字符串。
我们目前正在使用UrlHelper
var prevLink = offset > 0 ? urlHelper.Link(routeName, new {offset=(offset-limit)>=0? offset - limit:0,limit=limit }) : ""
我们无法传递用户可能已经传递的其他动态查询字符串参数。有没有办法解决它。
答案 0 :(得分:0)
没有开箱即用的方法只会替换一个查询参数。试一试:
var qs = HttpUtility.ParseQueryString(Request.QueryString.ToString());
qs.Set("offset", newOffset);
var uriBuilder = new UriBuilder(Request.RequestUri);
uriBuilder.Query = qs.ToString();
var newUri = uriBuilder.Uri;