title: Should action methods in an MVC controller, not a WEBAPI, return ActionResult only?
body: <p>What are the best practices in terms of the return type of an action method of a controller? </p>
  
  <p>I have an action method that saves data and returns the ID generated. What are the differences and benefits of returning ActionResult over an int? </p>
  
  <p>e.g.</p>
  
  <pre><code>public ActionResult SaveValue(Payment model) {
       // Save stuff
       return this.Json(id);
  }
  </code></pre>
  
  <p>over </p>
  
  <pre><code>public int SaveValue(Payment model) {
       // Save stuff
       return id;
  }
  </code></pre>
  
  <p>If I'm returning an object, say the Payment model, I will return it as a json and let the Json() method convert it properly. However, with simple values, would it be correct to return the type itself and not an ActionResult? </p>