Я ищу несколько примеров или примеров маршрутизации для следующего вида сценария:
Общий пример действий: {controller} / {action} / {id}
Таким образом, в сценарии поиска товара для магазина у вас будет:
public class ProductsController: Controller
{
public ActionResult Search(string id) // id being the search string
{ ... }
}
Скажем, у вас было несколько магазинов для этого, и вы хотели этого постоянно, есть ли способ получить: {category} / {controller} / {action} / {id}
Чтобы можно было выполнить определенный поиск для определенного магазина, но использовать другой метод поиска для другого магазина?
(Если вы требовали, чтобы название магазина имело более высокий приоритет, чем сама функция в URL)
Или это сводится к:
public class ProductsController: Controller
{
public ActionResult Search(int category, string id) // id being the search string
{
if(category == 1) return Category1Search();
if(category == 2) return Category2Search();
...
}
}
Возможно, это не очень хороший пример, но в основном идея заключается в том, чтобы использовать одно и то же имя контроллера и, следовательно, иметь простой URL-адрес в нескольких различных сценариях, или вы застряли с требованием уникальных имен контроллеров, и никакой возможности поместить их в несколько разные пространства имен / каталоги?
Изменить, чтобы добавить:
Другая причина, по которой я этого хочу, заключается в том, что мне может потребоваться URL-адрес, имеющий категории, и что определенные контроллеры будут работать только в определенных категориях.
IE:
/ this / search / items / search + term <- works </p>
/ that / search / items / search + term <- не будет работать - потому что контроллер поиска не разрешен. </p>