Убедитесь, что маршрут используется в ASP.NET MVC - PullRequest
1 голос
/ 16 февраля 2012

Я хочу указать маршруты клиентов для пользователей, которые могут выбрать имя URL.

http://example.com/customer-name

Могу ли я проверить, что введенное ими имя еще не зарегистрировано в наших маршрутах? Например, если кто-то набрал «about», http://example.com/about, Я мог бы сказать им, что имя уже используется, потому что у нас есть страница About.

Ответы [ 2 ]

0 голосов
/ 16 февраля 2012

Я бы поместил все маршруты клиентов в «папку», т.е. http://example.com/account/customer-name. Никаких конфликтов там нет.

Или разместите все другие «жестко закодированные» контроллеры в области и запретите этот для использования клиентом.

0 голосов
/ 16 февраля 2012

Вы должны использовать жадный маршрут для пользовательских маршрутов.Регистрация маршрута будет выглядеть следующим образом:

routes.MapRoute("customCustomerRoute",
                "{*customerName}", 
                new { controller = "Customer", action = "Home" }
        );

и должна проходить в конце ваших маршрутов, чтобы не перегружать другие маршруты.

После этого вы можете получить клиентаНазовите пути, хранящиеся в БД, и найдите этот путь, прежде чем пользователь захочет создать новый.

Вы можете получить все возможные существующие маршруты с помощью следующего кода:

var routes = new RouteCollection();
MvcApplication.RegisterRoutes(routes);

Тогда, вы можете увидеть, содержат ли эти маршруты URL-адрес для регистрации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...