Я предпочитаю: / Комментарии / Поиск / 3? Сортировать = автора. Строка запроса - хорошее место для передачи программных параметров, особенно если параметр (как в этом случае) не важен для целей SEO. Если бы параметр имел некоторое семантическое значение в качестве поискового запроса, первый URL был бы лучше.
В методе контроллера вы можете использовать что-то вроде этого:
public ActionResult Search(int id, string sort)
ASP.NET MVC автоматически подключит значения строки запроса к параметрам вашего метода.
Используйте следующий маршрут
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Comments", action = "Search", id = "" } // Parameter defaults
);
/ Комментарии / Поиск / 3? Sort = автор будет вызывать Поиск (3, «автор»)
/ Комментарии / Поиск / 3 вызовет Поиск (3, ноль)
Имейте в виду, что id является обязательным, поэтому этот URL не будет работать:
/ Комментарии / Поиск