title: How do I return a different ActionResult from my controller that takes arguments?
body: <p>I have a <code>Controller</code> with some actions on it as follows:</p>
  
  <pre><code>[HttpPost]
  public ActionResult Create(CreateModel model)
  {
      if (model.SelectedCustomers.Count &gt; 0 &amp;&amp;
          model.SelectedVersions.Count &gt; 0 &amp;&amp;
          !string.IsNullOrWhiteSpace(model.ScriptName) &amp;&amp;
          !string.IsNullOrWhiteSpace(model.ScriptText))
      {
  
          Script script;
          ...save to database...
          return Edit(script.Id);   //&lt;---------Return other view here
      }
      else
      {
          ...
      }
  }
  
  [HttpGet]
  public ActionResult Edit(int? scriptId)
  {
      return View();
  }
  </code></pre>
  
  <p>After the <code>Create</code> action runs, and saves my model to the database successfully, I want to send the user to the <code>Edit</code> view for the newly created script.  When I use the code above, specifically <code>return Edit(script.Id);</code> it just sends the user back to the <code>Create</code> view instead of the <code>Edit</code> view.  When the user navigates to the <code>Edit</code> action directly, or through the result of an <code>Html.ActionLink</code> pointed at <code>Edit</code> everything works correctly.</p>
  
  <p>What am I doing wrong?</p>