我只是把一个简单的 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>
我希望这有帮助。