如何从异步Task <iactionresult>方法调用控制器方法?

时间:2018-05-24 07:39:24

标签: asp.net-core

我想从我的另一个方法中调用普通的动作方法,但是调试器不会使用该方法。

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

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

2 个答案:

答案 0 :(得分:1)

RedirectToAction导致重定向被发送到客户端的浏览器,然后必须请求将URI重定向到。

因此调用return RedirectToAction("SecondMethod");本身不会调用SecondMethod,这取决于客户端是否遵循重定向。

答案 1 :(得分:0)

如果您只想重定向,此代码将起作用。

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

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

这里没什么特别的,你只想在SecondMethod完成后重定向到UploadFile

但是你不能将它作为方法调用,因为它使用IActionResult IActionResult所做的是它定义了一个表示动作方法结果的契约。