2015-03-25 2 views
0

У меня есть следующий метод Post в контроллере WebAPI ..Вызов метода Get в ASP.NET MVC из метода пост в ASP.NET MVC WebAPI

[Route("api/myquery")] 
     [HttpPost] 
     public HttpResponseMessage MyQuery([FromBody] string id) 
     { 
      if (string.IsNullOrEmpty(id)) 
      { 
       return new HttpResponseMessage(HttpStatusCode.BadRequest); 
      } 


      return new HttpResponseMessage(HttpStatusCode.OK); 
      // return RedirectToAction("MyReport", new { model = "abc" }); 
     } 

У меня есть следующий метод Получить в asp.net mvc controller.

[HttpGet] 
     public ActionResult MyReport(string model) 
     { 
      return View(); 
     } 

Что я хотел бы сделать, это вызвать метод Get из метода Post при успешном завершении. «RedirectToAction», похоже, не работает .. он говорит, что: - он не существует в текущем контексте.

Любая помощь искренне ценится.

Благодаря

+0

Является ли это в одном проекте? Вы пытаетесь вызвать метод «MyReport» в том же контроллере. – greenhoorn

ответ

0

Я предполагаю, что методы в 2-х разных контроллерах ... Так что в основном вы пытаетесь вызвать метод MyReport в контроллере WebAPI.

Попробуйте вызвать метод с вашим контроллером, в котором метод актуальным является:

return RedirectToAction("MyReport", "MyController", new { model = "abc" }); 
+0

Да, методы находятся в двух разных контроллерах. Но MyReport находится в контроллере mvc, а не mvc web api controller. Метод myquery находится в веб-api-контроллере .. и RedirectToAction не существует в mvc webapi – Arnab

+0

Можете ли вы добавить скриншот или скопировать исходный текст ошибки? Это ошибка компиляции? – greenhoorn

+0

Контроллер webapi не имеет метода RedirectToAction, поэтому как я могу его использовать ???? – Arnab

Смежные вопросы