asp.net-mvc - 如何让 .Net Core Action 返回 Nothing 或 Redirect
问题描述
使用 .Net Core 2.2 我有几个控制器动作重定向到另一个动作。更具体地说,有几个 API 调用,每个调用都可能失败或通过。如果通过,它将重定向到执行下一个 API 调用的另一个控制器操作。
如果 API 操作返回失败代码,我不希望它重定向,而是希望在 UI 中向用户显示消息。为此,我的操作会触发通过 javascript 在 UI 中获取的 SignalR 消息。
这导致了我的问题,
控制器中的操作可以不返回任何内容吗?我的意思是我希望它要么重定向到另一个动作,要么根本不重定向或刷新页面。本质上让它像一个 Void 函数一样,也有返回的能力。
解决方案
您可以定义一个操作返回IActionResult
,然后返回您需要的任何结果
public IActionResult MultiAction()
{
...
if (failed)
{
return Json(new { message = "Error" });
}
else if (something)
{
return Redirect("/myurl");
}
return NoContent();
}
推荐阅读
- matlab - Matlab中高斯回归SVM的手动预测
- c++ - RegisterEventSource 和同一事件日志下的多个 EventMessageFile 值名称 => 第一个匹配?深度优先还是宽度优先匹配?
- javascript - Bootstrap-Vue b-tab:CSS 似乎不适用于 active-nav-item-class
- dynamic - CPLEX 中针对集合覆盖问题的动态范围和正确索引
- python - Tensorflow:ValueError:输入0与层模型不兼容:预期形状=(无,99),找到形状=(无,3)
- javascript - 使用属性值为我的 wordpre 画廊中的每个图像添加自定义链接
- r - 如何将数据集重组为单列
- angular - 使用角度循环发送多个http get请求
- entity-framework - EF6 和 EFCore 上下文生成不同的 SQL 脚本,导致 EFCore 出现性能问题
- node.js - 每个单独测试的 Jest 模拟第三方默认导出