3

NameValueCollection を使用すると重複キーを追加できると読みましたが、使用しようとするとそうではないようです。

マイコード

using (var wb = new WebClient())
{
     var data = new NameValueCollection();
     var sourceData = (List<Dictionary<string, object>>)dic["mapData"];
     var countSource = sourceData.Count;

     foreach (var item in (List<Dictionary<string, object>>)dic["mapData"])
     {
          data.Add("pp", item["Latitude"].ToString() + "," + item["Longitude"].ToString());
     }

     var dataCount = data.Count;
     var response = wb.UploadValues(@"http://dev.virtualearth.net/REST/V1/Imagery/Map/road/?mapArea=" + swLat.ToString() + "," + swLong + "," + neLat + "," + neLong + "&mapSize=800,600&key=" + key, "POST", data);

     return this.LargeJson(new { imageData = CreateBase64Image(response) });
}

私が観察していること

私のsourceDataには36個のアイテムが含まれています

腕時計

sourceData を反復処理して NameValueCollection データに項目を追加し、同じキー「pp」で項目を追加しています

データ NameValueCollection に 36 個のアイテムがあると予想していましたが、1 個しか得られず、すべての値が同じキーに追加されます。

何が欠けていますか?

4

1 に答える 1

9

これは予想される動作です -ドキュメントを参照してください:

指定されたキーがターゲットの NameValueCollection インスタンスに既に存在する場合、指定された値は、「値 1,値 2,値 3」の形式で、既存のコンマ区切りの値のリストに追加されます。値は、ターゲット NameValueCollection インスタンスの同じキーに関連付けられています。

于 2014-02-05T23:24:54.983 に答える