Все облазил, не могу сообразить, как сделать следующее:
1. Если человек в адресной строке пишет: mysite.ru/home/index
или просто mysite.ru
, то его перенаправляет на контроллер HomeController->Index
. Тут все как обычно.
2. Но если человек пишет: mysite.ru/hello
или что либо другое вместо hello, то ему надо вернуть просто строку. При этом надо прочесть что же написано в адресе (в данном примере написано hello).
// Пример как я пробовал сделать в методе Startup->Configure через Map.
// Тут 2 минуса: не известно как получить то, что написано в маршруте (в примере это hello) и здесь придется на старте приложения задать все строки, а они могут быть любые.
app.Map("/visexp",
(appBuilder) =>
{
appBuilder.Run(async (context) =>
{
await context.Response.WriteAsync("строка -" + ПеременнаяСhello);
});
});
Пример, что должно быть: человек пишет mysite.ru
- отрабатывает HomeController
; Человек пишет mysite.ru/radomtext
- у него обновляется страница где просто написано Строка - radomtext
Чтобы сделать стандартный выделенный маршрут без второго слеша, то есть обращаться к контроллеру не так mysite.io/home/index
, а так mysite.io/index
, то в Startup.cs
писать следующий роут:
app.UseMvc(routes =>
{
routes.MapRoute( // роутинг на стандартный ноум контроллер всегда
name: "default",
template: "/{action=Index}/{id?}",
defaults: new { controller = "Home" });
});
Чтобы сделать как я хотел, сохранить стандартный роутинг и одновременно на один конкретный контроллер отправлять все остальное, что не прошло по стандартному роутингу надо делать так:
app.UseMvc(routes =>
{
routes.MapRoute( // почти стандартный роутинг, он автоматом на home/index не кидает.
name: "default",
template: "{controller}/{action}/{id?}");
app.Run(async (context) => // если по стандартному маршруту ни чего не нашлось, то выполняется данный код
{
string url = context.Request.Path.Value.TrimEnd('/'); // получаем ссылку по которой перешли
await context.Response.WriteAsync("Hi" + url);
});
});
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
есть главная форма, из нее открываются все остальныеодна из них должна задавать например цвет всем другим формам
Подскажите какую библиотеку подключить для использования конструкцииQuery:
Делал авторизацию и регистрацию на сайте через RedBeanPHP, сохранял данные пользователя в сессии, всё работалоНо потом в другом файле у меня перестало...