У меня есть универсальная настройка маршрута в ASP.NET MVC, поэтому я могу захватить / эту страницу, / эту страницу и т. Д.
Когда вы нажимаете на страницу, вызывается действие, например, Index(string page)
, а затем page
проверяется на соответствие значению в базе данных, чтобы определить, можно ли найти страницу. Если это не может быть найдено, я хочу отобразить представление FileNotFound
, которое находится в моем ErrorController
, я не хочу перенаправлять, поскольку я хочу сохранить URL как http: //.../ page-that-isnt-found , точно так же, как это делает StackOverflow, если вы зададите ему фиктивный вопрос - (https://stackoverflow.com/questions/zzz-aaa).
Теперь моя проблема в выяснении кода, я попробовал оба:
[ do page db check ]
if (page == null)
return RedirectToAction("FileNotFound", "Error");
// return View("FileNotFound"); // can't opt for a controller ?
Самое близкое, что я получаю, это RedirectToAction()
, однако, конечно, он действительно выполняет перенаправление, и мой URL указывает на / error, что не является желаемым поведением. Я пытался использовать return View()
, но, похоже, я не могу указать контроллер, только имя представления?