【问题标题】:Retrieve a query string value in C# with .Net 3.5使用 .Net 3.5 在 C# 中检索查询字符串值
【发布时间】:2014-11-25 11:29:03
【问题描述】:

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

如果不使用 HttpUtility.ParseQueryString(似乎不在 .net 3.5 中),检索键值的最简洁方法是什么?

旁注:我在 Google 上搜索过很多次,但只能找到利用上述内容的示例。

【问题讨论】:

  • HttpUtility.ParseQueryString()does exist in .NET 3.5.
  • 是的,我也看过那个页面。但是我已将 System.Web 添加到项目中,但它没有提供与 HttpUtility 相关的任何内容。

标签: c# regex query-string


【解决方案1】:

有几种方法可以做到这一点

  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;
    }
    

希望这会有所帮助!

// 泽拉塔

【讨论】:

    【解决方案2】:

    你可以使用:

    Request.QueryString("Key")
    

    【讨论】:

    • 这是针对网络应用程序的吗?我一直忘记说它是我正在开发的桌面应用程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多