c# - URL 查询字符串 - 查找、替换、添加、更新值?

标签 c# url query-string

我们从另一家公司继承了一些 C# 代码作为项目的一部分,这家公司进行 URL 重定向,根据需要修改现有查询字符串、更改项目值、添加新参数等。然而,问题是代码充其量是错误的,最终会在查询字符串中复制项目而不是正确更新它们。该代码在第一次通过时有效,但在其他调用中,重复问题变得明显。

例如:MyPage.aspx?startdate=08/22/09&startdate=09/22/09

与其复制项目,不如用新值更新(如果它已经存在)或者添加(如果不存在)。

是否有用于处理查询字符串的 C# 类或函数集,允许一种简单的方法来访问和更新/添加绕过这些问题的参数,而不是现在似乎在代码中使用的盲目添加方法?这需要能够处理可能始终存在或可能不存在的多个参数,并在后续调用中添加和更新。

如果可能的话,我们宁愿使用现有的逻辑也不愿重新创建一些东西,以便以半标准的方式快速解决这个问题,以便将来进行维护和重用。

最佳答案

是的,我建议使用 HttpUtility.ParseQueryString() 将查询字符串转换为集合

然后您可以直接在集合中查找/添加/更新/替换值,然后再从此集合重新创建查询字符串。

这应该可以更容易地发现重复项。

关于c# - URL 查询字符串 - 查找、替换、添加、更新值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1163956/

相关文章:

c# - ASP.NET核心: Why do we need IDesignTimeDbContextFactory?

swift - Apple 公司是否允许应用程序从 YouTube 流式传输视频?

jquery - 更改 AJAX 调用的 url

PHP 不使用 POST 或 GET 查询从 MySQL 数据库中读取。(空白输出)

ASP.NET MVC 删除操作方法中的查询字符串

c# - Parallel Linq - 使用比处理器更多的线程(对于非 CPU 绑定(bind)任务)

c# - 如何在原地行走和过滤一棵树?

c# - WPF、WinForms、ActiveX 控件和我正在消失的理智(调用 DragMove() 以响应 WinForms 控件的 MouseDown 事件)

java - Java 中的文件、URI 和 URL 冲突

c# - 尝试使用时查询字符串会发生变化。