URL может принимать практически любую другую форму, которая вам нравится. Для получения дополнительной информации, проверьте ASP.NET MVC Framework (часть 2): URL Routing . Просто для начала (поскольку я не уверен, что это оптимальное решение), вы можете добавить два новых маршрута в ваш global.asax:
routes.MapRoute(
"ukRoute",
"{lang}/Products/{action}/{id}/{subcategory}",
new { lang = "uk", controller = "Products", action = "Index", id = "", subcategory = "" }
);
routes.MapRoute(
"esRoute",
"{lang}/Productos/{action}/{id}/{subcategory}",
new { lang = "es", controller = "Products", action = "Index", id = "", subcategory = "" }
);
Эти маршруты понимают следующие URL-адреса (и сопоставляют их оба с методом ActionResult Category(string id, string subcategory)
ProductsController
):
uk/Products/Category/1/A
es/Productos/Category/1/A
Если вы хотите создать такие URL в своих представлениях, вы можете использовать что-то вроде:
<%= Html.RouteLink("English 1.A", "ukRoute", new { lang = "uk", action = "Category", id = "1", subcategory = "A" })%>
<%= Html.RouteLink("Spanish 1.A", "esRoute", new { lang = "es", action = "Category", id = "1", subcategory = "A" })%>