title: Is there a specific Datatype I can use for x-www-form-urlencoded parameters in c#?
body: <p>I am working on a <code>Web-API</code> and i am receiving a <code>POST</code> request with a body with the <code>Content-type</code> as <code>x-www-form-urlencoded</code></p>
  
  <p>With this I am able to process the request but the dictionary is always empty for some reason. Is it because I am using the <strong>wrong</strong> datatype?
  Or is there something else that is not right?</p>
  
  <pre class="lang-cs prettyprint-override"><code>    static List&lt;string&gt; strings = new List&lt;string&gt;();
      [HttpPost]
      public void Post(Dictionary&lt;string,string&gt; value) //why is the dictionary empty?...
      {
          foreach (KeyValuePair&lt;string,string&gt; kvp in value)//keyValuePair
          {
              strings.Add("Key = " + kvp.Key + ", Value = " + kvp.Value);
          }
      }
  </code></pre>
  
  <p>I dont know if this can help but i also have this in my <code>WebApiconfig.cs</code> file so it returns in <code>application/json</code></p>
  
  <pre class="lang-cs prettyprint-override"><code>config.MapHttpAttributeRoutes();
  
  config.Routes.MapHttpRoute(
      name: "DefaultApi",
      routeTemplate: "api/{controller}/{id}",
      defaults: new { id = RouteParameter.Optional }
  );
  </code></pre>
  
  <p>I also want to apologize if this question is not that good or lacks certain information. I will try to add everything you need. Just give the word.
  Thank you!</p>
  
  <p>EDIT:
  Post request sent to my api.</p>
  
  <p>HEADER</p>
  
  <pre><code>host: localhost:60509
  Accept: application/json,*/*
  Accept-Encoding: gzip,deflate
  Content-Type: application/x-www-form-urlencoded
  User-Agent: Slackbot 1.0 (+https://api.slack.com/robots)
  X-Slack-Request-Timestamp: 1568976729
  X-Slack-Signature: v0=3fb0dda35d6925cabc393dabf3525ec998a755837316e5019e53a86c900f6651
  Content-Length: 381
  Connection: keep-alive
  </code></pre>
  
  <p>the only thing I can change is the host.</p>