Просмотр маршрутов . Они определяют, как будет записан URL с параметрами.
Если вы создаете новое приложение MVC и смотрите файл Global.asax.cs в `RegisterRoutes (). Вы должны увидеть одну запись.
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "home", action = "index", id = UrlParameter.Optional } // Parameter defaults
);
Посмотрите на каждую часть:
- «По умолчанию» - это имя. Это должно быть уникальным для каждого создаваемого вами маршрута.
- "{controller} / {action} / {id}" - это шаблон, который вы хотите использовать.
example.org/home/index?id=2
будет написано example.org/home/index/2
вместо
- new {controller = "home", action = "index", id = UrlParameter.Optional} определяет значения по умолчанию, если ничего не указано.
Таким образом, этот маршрут делает его таким, что если вы перейдете на example.org , это будет означать, что вы имеете в виду example.org / home / index {id не является обязательным} .
Работая с этого, вы можете начать видеть, как создавать свои собственные маршруты.
Теперь, отвечая на ваш вопрос, краткий ответ будет да , вы можете сделать так, чтобы URL выглядел так, но не совсем . Вам нужно будет определить маршрут с сообщением по умолчанию, и это будет выглядеть так, только если кто-то не укажет сообщение. Вы должны сообщить контролеру, что это за сообщение. Извините, но лучшее, что вы можете сделать, это определить маршрут, который дает вам
/message/Hello%20World
и использование string.replace делают этот вид еще лучше `'/ message / hello_world'