title: How to open html file with anchor(#) in C# with default browser
body: <p>I am trying to open a contextual help file in c#. </p>
  
  <p>When i specify no anchor, it works perfectly.  </p>
  
  <pre><code>Process.Start("C:/Help/Help.htm")
  </code></pre>
  
  <p>But when i specify anchor, it does not open  </p>
  
  <pre><code>Process.Start("C:/Help/Help.htm#_Toc342057538")
  </code></pre>
  
  <p>Internally it changes <code>'#'</code> to <code>'%23'</code> and the path becomes <code>"c:\Help.htm%23_Toc342057538"</code> which browser is unable to recognize. </p>
  
  <p>Browser is successfully opening the path <code>"c:\Help.htm#_Toc342057538"</code></p>
  
  <p>How to stop this automatic conversion by <a href="http://msdn.microsoft.com/en-us/library/h6ak8zt5.aspx" rel="nofollow">Process.Start</a>. The same behavior is observed, if i give the anchor label as another argument, or use <a href="http://msdn.microsoft.com/en-us/library/system.uri.aspx" rel="nofollow">Uri</a> class.</p>
  
  <p><strong>EDIT</strong>
  Same behavior is observed, when i enter the string in Window Run. Following command also convert <code>#</code> to <code>%23</code>, which browser cannot recognize.</p>
  
  <pre><code>chrome c:/Help.htm#_Toc342057538
  </code></pre>