Я сделал определение маршрута следующим образом:
routes.MapRoute("ProductSearch", "Search-{MainGroup}-{SubGroup}-{ItemType}",
new {
controller = "Product",
action = "Search",
MainGroup = "", SubGroup = "", ItemWebType = ""});
Не работает, если параметры пусты.
Фактически он разрешает URL, поэтому метод Url.Action разрешает путь «Поиск-12--», но ссылка не работает, поэтому не работает GET страницы
С косыми чертами работает метод Url.Action делает "Поиск / 12"
"Search/{MainGroup}/{SubGroup}/{ItemType}"
Можно ли как-то это исправить?
Я сделал пример с проектом MVC по умолчанию:
Только добавлено:
до маршрута по умолчанию:
routes.MapRoute(DefaultSearch", "Search-{MainGroup}-{Subgroup}-{ItemType}",
new {controller = "Home",action = "About", MainGroup = "",
Subgroup = "", ItemType = ""});
в Home / index.aspx:
<a href="<%=Url.Action("About", "Home", new {maingroup = "2", subgroup = "", itemType = ""}) %>">
Search</a>
В HomeController:
public ActionResult About(string maingroup, string subgroup, string itemtype)
{
return View();
}
Нажмите на ссылку и 404