【问题标题】:How to parse URL with multiple values into multiple int如何将具有多个值的 URL 解析为多个 int
【发布时间】:2020-03-10 14:29:36
【问题描述】:

我有一个查询字符串,我需要将其拆分为 2 个单独的 int,我很难让它工作,也很难理解其他示例。基本上,我想拆分 URL 的日期部分,例如 - www.website.com?2019&9。这是我一直在努力的工作。我知道肯定有一种更优雅的方法可以做到这一点,但我不熟悉使用查询字符串。

        string QueryString = Request.QueryString.ToString();
        int [] QueryInt = new int[2];
        int k = 0;
        string[] QuerySplit = QueryString.Split('&');
        foreach (var item in QuerySplit)
        {
            int.TryParse(QueryString, out QueryInt[k]);
            k++;
        }

【问题讨论】:

  • 您的网址看起来很奇怪。应该是...?param1=value1&param2=value2。你知道你在寻找哪些参数吗?您应该能够做到string value = Request.QueryString["parameterName"]; 查看the documentation 以获取更多信息和示例。
  • 我知道我需要哪些。我很感激我不知道他们应该看起来像这样的建议。我会检查文档。
  • 没问题。如果您想要一个数字列表,您可能会考虑类似...?values=2019,9,1,2,3 或其他一些不是特殊查询字符串字符的分隔符。然后你可以做List<int> values = Request.QueryString["values"].Split(',').Select(int.Parse).ToList();

标签: c# query-string


【解决方案1】:

我最终按照 itsme86 的建议使用了Request.QueryString["Param"];。这不是最漂亮的解决方案,我敢肯定还有更好的解决方案,但它确实有效,这是最重要的。

URL 中的参数应该是这样的

exampleurl.com/?year=2019&month=9.

    string monthQuery = Request.QueryString["month"];
    int monthVal = 0;
    int.TryParse(monthQuery, out monthVal);
    string yearQuery = Request.QueryString["year"];
    int yearVal = 0;
    int.TryParse(yearQuery, out yearVal);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-22
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 1970-01-01
    • 2021-11-04
    相关资源
    最近更新 更多