2017-05-03 34 views
0

在我嘗試使用內部NameValueCollection初始化NameValueCollection之後,c#編譯器說必須是NameValueCollection(string,string)。如何使用內部NameValueCollection初始化NameValueCollection

正如我想當我像這樣初始化時調用Add函數。

  • void Add(NameValueCollection c);
  • void Add(string name,string value);

是否有任何其他方法,我可以初始化基於NameValueCollection的一行上相同?

的原因是,我有POST數據到一個HTTPAddress我用這個function

這是我的例子,這將不工作:

NameValueCollection data = new NameValueCollection() 
{ 
    { "key1", "value1"}, 
    { "key2", new NameValueCollection() 
    { 
     { "key2sub", "value"} 
    } 
}; 
+1

您必須製作相同類型的名稱值集合的所有部分。這是'NameValueCollection'中固有的。 – vipersassassin

回答

1

不really.The UploadValues(..)方法取NameValueCollectionNameValueCollection只接受string

方法的目的是把你的數據...

...進入網址:

http://www.example.com/?key1=value1&key2=value2 

如果你想發送的更多信息,你可以把一個分隔字符串作爲您的某個鍵的值,然後在另一端將其再分開。

UploadValues("http://www.example.com/", new NameValueCollection() 
{ 
    { "key1", "value1" }, 
    { "key2", "value2,value3,value4" } 
}; 

這應該產生這樣的:

http://www.example.com/?key1=value1&key2=value2,value3,value4 

但是,最好的解決方案是爲@hmnzr said in their answer(現已刪除),以避免NameValueCollection完全和使用UploadString(..)方法上傳序列化爲JSON的自定義對象。

+0

我不會使用NameValueCollection來完成我的任務,但thx! –