【问题标题】:How to fetch data from URL如何从 URL 中获取数据
【发布时间】:2011-02-18 11:47:50
【问题描述】:

我有一个 URL http://localhost/TradeCredits/UnderWriter/EditQuote.aspx?QOT_ID=1 我想从 URL 获取 QOT_ID。请建议如何做到这一点。

【问题讨论】:

    标签: c# .net asp.net url


    【解决方案1】:

    如果您在问题中提到的URL 可能未连接到当前请求,您可以这样做:

    string url = "http://localhost/TradeCredits/UnderWriter/EditQuote.aspx?QOT_ID=1";
    Uri uri = new Uri(url);
    var parameters = HttpUtility.ParseQueryString(uri.Query);
    var id = parameters["QOT_ID"];
    

    而id 变量保存您的参数值。

    【讨论】:

    • 我相信你的意思是Uri uri = new Uri(url);?
    【解决方案2】:

    你可以使用这行代码:

    int id = Convert.ToInt32(Request.QueryString["QOT_ID"]);
    

    或者如果您想进行适当的检查,可以这样做:

    int id;
    if (int.TryParse(Request.QueryString["QOT_ID"], out id)) {
        // Do something with the id variable
    } else {
        // Do something when QOT_ID cannot be parsed into an int
    }
    

    【讨论】:

      【解决方案3】:

      QOT_ID 可以为 null 或字母组合

      int id = Request.QueryString["QOT_ID"] != null && Int32.TryParse(Request.QueryString["QOT_ID"]) ? int.Parse(Request.QueryString["QOT_ID"]) : -1;
      

      不能 100% 确定您是否可以安全地将空值传递给 Int32.TryParse。

      【讨论】:

      • Request.QueryString[] 保证不返回null。
      • 我对此感到惊讶,因为我总是在我当前的项目中检查 null,所以我对此进行了测试。如果您传递的索引/名称不存在,Request.QueryString 实际上会返回 null ...
      【解决方案4】:

      Request.QueryString 为您提供发送到客户端的字符串变量数组

      Request.QueryString["QOT_ID"] 
      

      见documentation

      【讨论】:

        【解决方案5】:

        Request.QueryString 集合包含所有 URL 参数 - 每个都可以通过名称访问:

        var val = Request.QueryString["QOT_ID"];
        

        所有返回值都是string 变量,因此您可能需要转换为适当的类型。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-08-20
          • 2019-03-17
          • 2016-07-20
          • 2014-03-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多