Маршруты MVC: добавление необязательного параметра в начале маршрута - PullRequest
1 голос
/ 07 августа 2010

У меня есть следующие настройки маршрутов в моем файле конфигурации маршрута. У меня есть читатель конфигурации, который отображает их на маршруты в стиле MVC.

[route name="customers" url="customers/{statename}/{marketname}/{pagenumber}"] [controller name="Customers" action="Display" /] [/route]</p> <pre><code>[route name="pcustomers" url="{customername}/customers/{statename}/{marketname}/{pagenumber}"] [controller name="Customers" action="Display" /] [/route]

Как вы можете сказать, первый и второй маршруты практически одинаковы, но для части {customername} во втором.

Первый соответствует URL, как www.abc.com / клиенты / TX / Остин / 5

где второй соответствует URL www.abc.com / CustomerX / клиенты / TX / Остин / 5

У меня вопрос: есть ли способ объединить эти два маршрута в один и при этом иметь возможность сопоставлять оба URL-адреса?

Ответы [ 2 ]

2 голосов
/ 08 августа 2010

Не могли бы вы использовать субдомены и изменить второй URL-адрес на customerx.abc.com/customers/tx/Austin/5? Как насчет того, чтобы привязать зелье customerx к концу как необязательный параметр, подобный такому? abc.com/customers/tx/Austin/5?customer=x

1 голос
/ 09 августа 2010

Я бы сделал маршрут следующим образом:

customers/{statename}/{marketname}/{customer}  

и сделал бы номер страницы в виде строки запроса.Таким образом, URL будет:

www.abc.com/customers/tx/Austin?pagenumber=1

или

www.abc.com/customers/tx/Austin/CustomerX

Скорее всего, конструкция URL будет также соответствовать шаблону использования сайта:

  1. Нажмите Клиенты
  2. Выберите штат
  3. Выберите название рынка
  4. Просмотрите страницы
  5. Нажмите клиента
...