В моем приложении MVC я видел неожиданное поведение.Как RedirectToAction не ударил мое действие?
Допустим, у меня есть 3 метода действия
- Подробности
- Details_Fr
- Details_En
Идея 2-го и 3-го в том, что они переходят на язык, а затем перенаправить на «Реальное» действие.
Однако, когда я вызываю RedirectToAction с точкой останова в «Детали», это не достигается. Это тот случай, когда я посещаю страницы в этом порядке «Контроллер/Детали», а оттуда «Контроллер/Подробнее_Fr».
Вот мои действия:
public ActionResult Details()
{
return View(new MyViewModel());
}
public ActionResult Details_Fr()
{
this.SetLanguage(CultureInfo.GetCultureInfo("fr-CA"));
return RedirectToAction("Details");
}
public ActionResult Details_En()
{
this.SetLanguage(CultureInfo.GetCultureInfo("en-US"));
return RedirectToAction("Details");
}
Я не ищет решения, как это легко сделать, изменив RedirectToAction на View (новый MyViewModel()). Я ищу объяснения, поэтому я понимаю, что и почему это происходит.
Спасибо!
Каким выглядит определение маршрута? Это должно работать без проблем с маршрутами по умолчанию. –