How do I return a different ActionResult from my controller that takes arguments?
<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>