Есть action Details(int?id ...) и к нему можно обратится по следующим путям:
Home/Details/id
page/id
page/id/slug
И он вернет страницу с теми же путями. пример:
Запрос: page/5 Ответ: page/5
Мне нужно в этом action переопределить путь, что бы он возвращал всегда последний, Пример:
Запрос: page/5 Ответ: page/5/slug
action знает о slug(достает из бд по id),
Это возможно сделать? Как?
Перепробовал много вариантов но Redirect не происходит. Возвращает ошибку 500
public async Task<IActionResult> Details(int? id)
{
if (TempData["ReturnData"] != null)//сюда даже не заходит
{
return View(TempData["ReturnData"]);
}
var returnData = new{...};
if (RouteData.Values["slug"] == null && ! string.IsNullOrEmpty(returnData.slug))
{
TempData["ReturnData"] = returnData;
var redirect = $"/page/{returnData.id}/{returnData.slug}";//тут перепробовал 100500 вариантов...
return Redirect(redirect); // пробовал также RedirectToRoute и RedirectToAction
}
return View(returnData);
}
...
routes.MapRoute(
"Slug",
"page/{id}/{slug?}",
new { controller = "Home", action = "Details" }
);
return Redirect("page/id/slug");
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Условие задачи почти полностью выполнено, застрял на моменте когда нужно вывесли кол-во нулей из всех вводимых чисел, не понимаю синтаксиса...
Подскажите, как в приложении WPF эмулировать программно нажатие на кнопку Button левой клавишей мыши? Использовать button1PerformClick() не предлагать,...
При использовании на контексте SaveChanges() или SaveChangesAsync() после добавления какого-то элемента в экземпляр контекста изменения сохраняются только...
DateTimeCompareTo(Date) сравнивает экземпляр из базы данных, и Date-данные которые пришли от клиента