2016-11-05 5 views

답변

1

, 표현 new NameValueCollection() { ... }은 당신이해야 할 생각한다.

당신은 명시 적이어야하며 Collection initializers

컬렉션 이니셜 라이저는 당신이 구현하는 컬렉션 클래스를 초기화하는 경우 하나 개 이상의 요소 이니셜 라이저를 지정할 수 있습니다 밝혀 개체 이니셜을 검색

NameValueCollection values = new NameValueCollection(); 
values.Add("key", key); 
byte[] response = client.UploadValues("http://example.com/api/server/key", 
             values); 

말 IEnumerable 또는 Add 확장 메서드가있는 클래스입니다.

그리고 예를 들어

List<Cat> cats = new List<Cat> 
{ 
    new Cat(){ Name = "Sylvester", Age=8 }, 
    new Cat(){ Name = "Whiskers", Age=2 }, 
    new Cat(){ Name = "Sasha", Age=14 } 
}; 

그래서 어쩌면 괄호 작동하지 않고 이니셜 라이저를 사용하여, 예를 들어,

byte[] response = client.UploadValues("http://example.com/api/server/key", 
             new NameValueCollection { 
              { "key", key } 
             }); 
+0

어느 쪽이든 똑같지 않습니까? 그럼에도 불구하고 POST 데이터를 얻지 못하는 PHP 문제는 여전히 해결되지 않습니다. –

+1

이것이 작동하지 않는다면 URL이 잘못되었을 것입니다. –

+0

한숨 ... 나는 바보처럼 느껴진다. 나는 진지하게 내가 이것에 대해 내 마음을 잃어 가고 있다고 생각했다. URL에서/after 키를 잊어 버리면 해당 디렉토리의 index.php에 게시되지 않습니다. 도와 주셔서 감사합니다. 나는 지금 갈거야 :) –

1

URL 인코딩은 같은 값 : 나는 확실하지 않다

client.UploadValues("http://example.com/api/server/key", new NameValueCollection() 
    { 
     { "key", HttpUtility.UrlEncode(key) } 
    }); 
+0

빠른 답장을 보내 주셔서 감사합니다. 그러나 이것은 실제로 작동하지 않습니다. 여전히 가치를 게시하지 않습니다. –

+0

여기에 전체 기능이 있습니다. 아무리 바뀌어도 아무 것도 변경하지 못합니다. https://codetidy.com/9486/ –

+0

코드에 아무런 문제가 보이지 않습니다. –