title: Difference between Private methods and Actions decorated with NonAction in Asp.Net MVC
body: <p>in Asp.Net MVC if I decorate an action method with attribute <code>NonAction</code> then it wont be allowed to be called by the user visiting the site.
  same happens when I make it <code>private</code><br><br>
  So whats the difference between the two and is there a special purpose for which <code>NonAction</code> attribute has been made?</p>
  
  <p>For example whats the difference between</p>
  
  <pre><code>[NonAction]
  public ActionResult SomeAction(){}
  </code></pre>
  
  <p>And</p>
  
  <pre><code>private ActionResult SomeAction(){}
  </code></pre>
  
  <p>in the context of asp.net MVC of course I know one is <code>public</code> and the other one is <code>private</code> </p>