将数据从WebApi控制器传递到MVC控制器
本文关键字:控制器 MVC WebApi 数据 | 更新日期: 2023-09-27 17:49:38
我有数据进入WebApi控制器转换为c#对象,我需要将其传递给MVC控制器,此时我在静态"Globals"类中持有此对象,然后将我的ViewModel的实例分配给MVC控制器中的该对象,然后像往常一样返回。我知道使用TempData在MVC控制器之间传递数据。是否有一种方法来传递APIController和MVC控制器之间的数据?(我没有使用数据库)。
下面是我的APIController中从外部设备获取消息的动作:
[Route("someroute"), HttpPost]
public IHttpActionResult Post([FromBody] object obj)
{
try
{
MessageViewModel model = new MessageViewModel();
model.Object = obj;
Globals.model = model;
return Ok();
}
catch
{
return BadRequest();
}
}
我需要把那个模型传递给我的MVC控制器。目前,我将其存储在一个静态类中,然后是我的MVC控制器:
public ActionResult Index()
{
return View(Globals.model);
}
在客户端调用操作时返回。
@peco是绝对正确的,你需要将逻辑移出MVC控制器并在web api中重用它。如果由于某些原因你不能这样做,是什么阻止你用必要的参数重定向呢?