<p>I have the following route defined</p>

<pre><code>            routes.MapRoute(
            "ItemName",
            "{controller}/{action}/{projectName}/{name}",
            new { controller = "Home", action = "Index", name = "", projectName = "" }
            );
</code></pre>

<p>This route actually works, so if I type in the browser</p>

<pre><code>/Milestone/Edit/Co-Driver/Feature complete
</code></pre>

<p>It correctly goes to the Milestone controller, the edit action and passes the values.</p>

<p>However, if I try and construct the link in the view with a url.action - </p>

<pre><code>&lt;%=Url.Action("Edit", "Milestone", new {name=m.name, projectName=m.Project.title})%&gt;
</code></pre>

<p>I get the following url</p>

<pre><code>Milestone/Edit?name=Feature complete&amp;projectName=Co-Driver
</code></pre>

<p>It still works, but isn't very clean. Any ideas?</p>

You can try
```
```
Html.RouteLink("Edit","ItemName", new {name=m.name, projectName=m.Project.title});
```
```