Я только что собрал простое приложение mvc, и я смог заставить работать то, что вы описали, просто отлично.
В моем global.asax.cs в методе RegisterRoutes я добавил следующий маршрут:
routes.MapRoute(
"Client",
"{client}/{controller}/{action}/{id}",
new { client = "Default", controller = "Home", action = "Index", id = "" }
);
В моем контроллере я объявляю такой метод:
public ActionResult FooBar(string client)
{
return View();
}
На мой взгляд, я строю ссылки так:
<p><%= Html.ActionLink("Client1", "FooBar", "Home", new { client = "Client1"}, null) %></p>
<p><%= Html.ActionLink("Client2", "FooBar", "Home", new { client = "Client2"}, null) %></p>
<p><%= Html.ActionLink("Client3", "FooBar", "Home", new { client = "Client3"}, null) %></p>
И получившаяся разметка в итоге выглядит так:
<p><a href="/Client1/Home/FooBar">Client1</a></p>
<p><a href="/Client2/Home/FooBar">Client2</a></p>
<p><a href="/Client3/Home/FooBar">Client3</a></p>
Надеюсь, это поможет.