У меня есть служба на моем веб-сайте, которая загружает блоки контента из внешнего провайдера, из которого пользователи могут нажимать ссылки и перемещаться.Как настроить подпункты в MVC
Моя маршрутизация должна быть способна обрабатывать их, вызывая мой домашний контроллер с помощью пути запроса.
Например, URL, они будут использовать для навигации будет
www../shop/hire/category/subcategory/subsubcategory/....
и если они после определенного продукта:
www../shop/hire/category/subcategory/subsubcategory...?product=ABC
константа в том, что будет /shop/hire/
с изменения категорий, основанные на том, где вы находитесь, и продукт, если они нашли то, что они на самом деле после.
Проблема, с которой я столкнулся, - это когда в моем приложении щелкнули ссылку с таким путем, а не с помощью HomeController, поэтому я могу разобрать запрос и вызвать службу с соответствующим URL-адресом, я просто получаю 404.
Я попытался добавить маршрут:
routes.MapRoute(
name: "Category",
url: "shop/hire/{categories}/{product}",
defaults: new { controller = "Home", action = "Index", categories = UrlParameter.Optional, product = UrlParameter.Optional }
);
, но это, кажется, не имели никакого эффекта.
Я думаю, что ваша архитектура с многократно категориями initialy неправильно Вы нужно, например, передать все категории, которые вам нужны по параметрам. –
Проблема в том, что это не моя архитектура. Я звоню внешнему провайдеру, который использует это, чтобы найти нужный продукт. – Wizard
Возможный дубликат [Несколько уровней в пользовательской маршрутизации MVC] (http://stackoverflow.com/questions/31934144/multiple-levels-in-mvc-custom-routing) – NightOwl888