У меня есть следующий случай, когда я хочу принять следующие маршруты
'/type/view/23' or '/type/view/hats'
, где 23 - идентификатор шляпы.
Контроллер выглядит примерно так:
public class TypeController
{
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult View(int id)
{
...
}
}
Теперь, если они пройдут через 23, никаких проблем. Если они проходят в шляпах, у меня есть работа. Теперь мне было интересно, смогу ли я в этом случае преобразовать шляпы в 23, используя ActionFilter, который проверяет, является ли значение, переданное в качестве идентификатора, целым числом (если это так, проверьте, что оно существует в базе данных), или если оно выглядит как строка до базы данных для того, что идентификатор строки, которая была передана в. В любом случае, если совпадение не найдено, я бы хотел перенаправить пользователя на другое действие.
Во-первых, правильный подход, который я назвал, во-вторых, возможно ли сделать перенаправление из ActionFilter.
Приветствие
Энтони