Все облазил, не могу сообразить, как сделать следующее:
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);
});
});
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
есть главная форма, из нее открываются все остальныеодна из них должна задавать например цвет всем другим формам
Подскажите какую библиотеку подключить для использования конструкцииQuery:
Делал авторизацию и регистрацию на сайте через RedBeanPHP, сохранял данные пользователя в сессии, всё работалоНо потом в другом файле у меня перестало...