Как вызвать метод контроллера из асинхронного метода Task <IActionResult>? - PullRequest
0 голосов
/ 24 мая 2018

Я хочу вызвать метод обычного действия из моего другого метода, но отладчик не идет к этому методу.

[HttpPost]
public async Task<IActionResult> UploadFile(IFormFile file)
{
    //Code Logic
    return RedirectToAction("SecondMethod");
}

public IActionResult SecondMethod()
{
    return View();
}

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Если вы хотите только перенаправить, этот код будет работать.

[HttpPost]
public async Task<IActionResult> UploadFile(IFormFile file)
{
    //Code Logic
    return RedirectToAction("SecondMethod","YourControllerName");
}

public IActionResult SecondMethod()
{
    return View();
}

Здесь нет ничего особенного, вы просто хотите перенаправить на SecondMethod после завершения UploadFile.

Но вы не можете вызвать его как метод, так как он использует IActionResult что IActionResult делает, так это определяет контракт, который представляет результат метода действия.

0 голосов
/ 24 мая 2018

RedirectToAction приводит к отправке перенаправления в браузер клиента, который затем должен запросить перенаправление URI на.

Таким образом, вызов return RedirectToAction("SecondMethod"); сам по себе не вызовет SecondMethod,это зависит от того, следует ли клиент за перенаправлением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...