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

时间:2015-05-19 09:42:10

标签: c# asp.net asp.net-mvc asp.net-web-api

我有数据进入一个WebApi控制器,它被转换为一个c#对象,我需要将它传递给MVC控制器,此时我将这个对象保存在一个静态的" Globals" class然后将我的ViewModel的实例分配给我的MVC控制器中的该对象,然后像往常一样返回。我知道使用TempData传递数据beteewn 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);
    }

当客户端调用该操作时返回它。

1 个答案:

答案 0 :(得分:1)

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