c# - 如何使用 UriBuilder 和 HttpUtility.ParseQueryString 来存储 URL 并解析它

标签 c# asp.net parsing url uribuilder

我正在尝试做的是使用 UriBuilder 和 HttpUtility.ParseQueryString 来获取用户访问的最后一个页面,然后解析 URL 以仅获取 productID。 (如果重要的话,每个页面上的产品 ID 都不同)

示例网址:website.com/stuff/?referrerPage=1&productID=1234567&tab=Tile

而我想要的只是 1234567

Page_Load 是我解析 URL 的地方:

protected void Page_Load(object sender, EventArgs e) 
{ 
    NameValueCollection query = HttpUtility.ParseQueryString(uriBuilder.Query);
    //I want to take the parse string and get productID here, how?
} 

grabURL 是我获取最后访问的 URL 的地方:

public grabUrl(string Uri) 
{ 
    UriBuilder uriBuilder = new UriBuilder(Request.UrlReferrer); 
    return uriBuilder.Uri; 
}

我的代码是否在正确的轨道上?如何将 productID 编号放入某物中以便我可以使用它?我对 c# 和这种类型的编码非常陌生……当我说新的时候,我的意思是我已经做了大约一个星期了。所以任何详细的解释或例子都将非常适用。感谢大家的帮助,我从这个网站学到了很多东西,让我走上了正确的轨道。

最佳答案

来自NameValueCollection然后你可以这样做:

var id = query["ProductID"];

您可以使用 int.TryParse将其转换为适当的整数。

int id = 0;
if (!string.IsNullOrEmpty(query["ProductID"]) && 
  int.TryParse(query["ProductID"], out id))  {
  // use id here..
}

关于c# - 如何使用 UriBuilder 和 HttpUtility.ParseQueryString 来存储 URL 并解析它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16485041/

相关文章:

c# - C#中添加 Crystal 报表到tabcontrol时出现问题

c# - 如何修复 ASP.NET Web Api 从帖子接受的空 IFormFile

c# - 禁用 winform 按钮上的悬停行为

c# - .NET 服务器如何将文件处理结果推送到客户端 jQuery?

c# - 对象不能从 DBNull 转换为其他类型

c++ - Cpp : JSON parser in Cpp that provide support Serialize/Deserialize feature, 将 JSON 对象转换为用户定义的类?

java - 多个 .replace 给出 NoSuchElementException

javascript - 如何在 WebForm 中从 Jquery Ajax 调用 C# 方法?

asp.net - 如何始终访问 ASP.NET 客户端 API?

c# - 使用已知但未给定的时区解析 DateTime