如何让 .Net Core Action 不返回任何内容或重定向

A. *_*yer 4 asp.net-mvc asp.net-core

使用 .Net Core 2.2,我有几个重定向到另一个操作的控制器操作。更具体地说,有多个 API 调用,每个调用都可能失败或通过。如果通过,它将重定向到执行下一个 API 调用的另一个控制器操作。

如果 API 操作返回失败代码,我不希望它重定向,而是希望在 UI 中向用户显示消息。为此,我的操作会触发一条 SignalR 消息,该消息通过 JavaScript 在 UI 中拾取。

这引出了我的问题,

控制器中的操作可以不返回任何内容或其他内容吗?我的意思是我希望它要么重定向到另一个操作,要么根本不重定向或刷新页面。本质上让它像一个 Void 函数一样,也有返回的能力。

Ale*_*der 7

您可以定义一个操作返回IActionResult,然后返回您需要的任何结果

public IActionResult MultiAction()
{
    ...
    if (failed)
    {
        return Json(new { message = "Error" });
    }
    else if (something)
    {
        return Redirect("/myurl");
    }

    return NoContent();
}
Run Code Online (Sandbox Code Playgroud)