Я создал класс, унаследованный от IActionFilter, и использовал метод OnActionExecution Я прописал в нем некоторую логику и хочу перенаправить его на другое действие в контроллере.
Проблема в том, как я могу перенаправить на действие, из которого поступил запрос, и я попробовал много решений в зависимости от моих знаний, но никому не удается.
Что я пробовал:
Код: Выделить всё
public class ValidationFilterAttribute : IActionFilter
{
public void OnActionExecuting(ActionExecutingContext context)
{
//some logic to get the model
if(!context.ModelState.IsValid)
{
Context.Result = new RedirectToAction(“Idon’t know how to get action”, “I don’t know how to get controller”,new{model= /*model I got*/});
}
}
public void OnActionExecuted(ActionExecutedContext context)
{
}
}
- Как узнать действие и контроллер имена, от которых поступил запрос?
- Как я могу перенаправить на то же действие, но в том же контроллере, и отправить ту же модель, что и ' OnActionExecution».
Моя идея — использовать собственный класс «IActionFilter» с любым методом, работающим в HttpPost. Чтобы проверить, действительна ли отправленная модель, и если она недействительна. Метод OnActionExecution добавит ошибки в модель и снова отправьте его на действие.
Подробнее здесь: https://stackoverflow.com/questions/671 ... controller
Мобильная версия