Как перенаправить из OnActionExecution в действие в контроллереC#

Место общения программистов C#
Ответить
Anonymous
 Как перенаправить из OnActionExecution в действие в контроллере

Сообщение Anonymous »

Я работаю над проектом ASP.NET Core, ориентированным на .NET 5.
Я создал класс, унаследованный от 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»