c# - 如何在 ASP.Net 中解析和重建 URL?

标签 c# url parameters

我正在开发一个 C#/ASP.Net 应用程序,我正在尝试找到一种将 URL 分解为其组成部分,然后换出或删除这些部分并创建新 URL 的方法。

例如,如果我有以下 URL:

我想将 URL 拆分为:

  • 协议(protocol)(http、https、ftp 等)
  • 域 (www.site.com)
  • 页面(page.aspx)
  • URL 参数(parm1 = value1,parm2 = value2)

一旦 URL 被拆分,我想操作每个部分,例如:

  • 添加或删除参数
  • 改变参数值
  • 将页面从 page.aspx 更改为 page2.aspx

然后,一旦我完成创建一个新的 URL 以用于上述更改。

我已经查看了 MSDN 文档等,但在 .Net 中找不到一个实用程序类来处理这个问题。有什么想法吗?

干杯, 史蒂夫

最佳答案

框架自带 UriBuilder class为此目的。

它具有您需要的东西的获取/设置属性:

  • 协议(protocol):Scheme属性(property)
  • 域名:Host属性(property)
  • 页码:Path属性(将为您提供完整路径,您可能需要在此处进行一些处理)。
  • 参数:Query属性(作为字符串公开,您可能需要自己对字符串进行一些处理)。

当您完成对 UriBuilder 的操作后,使用 Uri 属性将结果作为 Uri 对象获取,或者如果您只需要将 URL 作为字符串,则仅使用 ToString()。

关于c# - 如何在 ASP.Net 中解析和重建 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3762512/

相关文章:

java - 如何使用 URIBuilder 构造带参数的 URI?

javascript - 在 bootstrap 3 中将参数传递给远程模态

sql - GROUP BY 在 SQL 中使用参数

c# - 随机重新排序 LINQ 集合的最快方法?

c# - 如何使用 XAML 语法在 UWP 类库中引用 Assets

java - 从浏览器在 Eclipse 中打开 .java 文件

url - 如何向 YouTube API search.list 查询的参数添加多个值?

c# - 在不知道用户名的情况下获取用户特定的路径

c# - 异步操作中的异步操作

c# - Visual Studio 2008 中重构菜单的快捷键(重命名、 "using"等)?