Search code examples
c#.neturlencode.net-client-profile

How do you UrlEncode without using System.Web?


I am trying to write a windows client application that calls a web site for data. To keep the install to a minimum I am trying only use dlls in the .NET Framework Client Profile. Trouble is that I need to UrlEncode some parameters, is there an easy way to do this without importing System.Web.dll which is not part of the Client Pofile?


Solution

  • System.Uri.EscapeUriString() can be problematic with certain characters, for me it was a number / pound '#' sign in the string.

    If that is an issue for you, try:

    System.Uri.EscapeDataString() //Works excellent with individual values
    

    Here is a SO question answer that explains the difference:

    What's the difference between EscapeUriString and EscapeDataString?

    and recommends to use Uri.EscapeDataString() in any aspect.