NameValueCollection没有抓取查询字符串的第一个值

时间:2013-08-23 19:09:23

标签: c# query-string namevaluecollection

我正在使用一个简单的陈述

NameValueCollection nvCollection = HttpUtility.ParseQueryString(queryString);

我正在尝试获取查询字符串中传递的值。传递的东西的一个简单例子是

form_id=webform_client_form_4&referrer=http://myURL/webform/request-information?agent=agent&keyword=keyword&full_name=Jon Harding&company=RTS Financial - TEST&phone=913-555-5555

我遇到的问题是referrer实际上是它之后的完整字符串。我确实需要其他值。在这种情况下,因为ParseQueryString将字符串拆分为&字符,NameValueCollection

中始终忽略第一个值

目前,当我尝试获取代理的值时,它是一个空白值,这是可以理解的。

确保抓住所有变量的最佳方法是什么?我可以在问号上拆分字符串,然后在执行ParseQueryString之前在字符串前面添加一个&符号。是否有更优雅的想要这样做?

1 个答案:

答案 0 :(得分:1)

这将付出最少的努力:

NameValueCollection nvCollection = HttpUtility.ParseQueryString(queryString.Replace("?","&"));