2014-11-25 59 views
-2

我正在处理一个C#项目,该项目将我限制为.Net 3.5。我需要能够检索一个查询字符串中的键的值,看起来像这样:http://www.test.com/file?id=1&search=search+text&other=stuff使用.Net 3.5检索C#中的查询字符串值

没有使用HttpUtility.ParseQueryString(似乎不在.net 3.5中)什么是最干净的方式检索关键值?

附注:我在谷歌上看起来很高,但只能找到利用上述的例子。

+3

'HttpUtility.ParseQueryString()'([在.NET 3.5确实存在] http://msdn.microsoft.com/en-us /library/ms150046%28v=vs.90%29.aspx)。 – 2014-11-25 11:31:07

+0

是的,我也看过那个页面。但是我已经将System.Web添加到项目中,并且它不提供与HttpUtility相关的任何内容。 – James 2014-11-25 11:43:06

回答

0

有做

  1. 使用的几种方法:(如 “搜索”) “这里请求名称”] HttpContext.Current.Request
  2. 使用:

    Dictionary<string,string> ParseQueryString(string url) { 
        if(!url.Contains("?")) return new Dictionary<string,string>(); 
        var dict = new Dictionary<string,string>() 
        if(url.Contains("&")) { 
        var valuekeys = url.Split('?')[1].Split('&'); 
        foreach(var item in valuekeys) { 
         dict.Add(item.Split('=')[0],item.Split('=')[1]); 
        } 
        return dict; 
        } 
        var data = url.Split('?')[1].Split('='); 
        dict.Add(data[0],data[1]); 
        return dict; 
    } 
    

希望这有助于!

// Zerratar

0

可以使用:

Request.QueryString("Key") 
+0

这是一个网络应用程序?我一直忘记说它是我正在开发的桌面应用程序。 – James 2014-11-25 11:59:35