将数据从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);
    }

在客户端调用操作时返回。

将数据从WebApi控制器传递到MVC控制器

@peco是绝对正确的,你需要将逻辑移出MVC控制器并在web api中重用它。如果由于某些原因你不能这样做,是什么阻止你用必要的参数重定向呢?