Вам следует избегать динамической регистрации маршрутов.Следующий статический маршрут в вашем Application_Start
должен быть в состоянии обработать ваш сценарий с параметрами динамического маршрута:
routes.MapRoute(
"page",
"{name}.aspx",
new { controller = "per", action = "index" },
new { name = @"[a-z0-9]+" }
);
, и если расширение должно быть динамическим:
routes.MapRoute(
"page",
"{name}.{extension}",
new { controller = "per", action = "index" },
new { name = @"[a-z0-9]+", extension = @"[a-z]{3,4}" }
);
и тогда у вас может быть действие Index для обработки запросов к этому маршруту:
public class PerController: Controller
{
public ActionResult Index(string name, string extension)
{
...
}
}
и если вы хотите сгенерировать ссылку на это действие:
@Html.RouteLink("go to foo", "page", new { name = "foo", extension = "aspx" })