我試圖讓我的apicontroller工作。但不知何故,我不能返回Json()
。MVC 4返回JSON作爲ActionResult
下面是編譯器錯誤消息:
錯誤CS0029無法隱式轉換類型 'System.Web.Http.Results.JsonResult <>' 到 「System.Web.Mvc。 JsonResult」 Opten.Polyglott.Web d:\開發\ git的\ Opten.Polyglott的\ src \ Opten.Polyglott.Web \控制器\ NewsletterApiController.cs
我無法解釋爲什麼它不能轉換Json()
到ActionResult
,即使Json()
繼承ActionResult
。
這裏是我的控制器:
using MailChimp;
using MailChimp.Helper;
using Opten.Polyglott.Web.Models;
using Opten.Umbraco.Common.Extensions;
using System.Configuration;
using System.Web.Mvc;
using Umbraco.Core.Logging;
using Umbraco.Web.WebApi;
namespace Opten.Polyglott.Web.Controllers
{
public class NewsletterApiController : UmbracoApiController
{
public ActionResult Subscribe(Newsletter newsletter)
{
bool isSuccessful = false;
if (ModelState.IsValid)
{
isSuccessful = SubscribeEmail(newsletter.Email);
}
return Json(new { isSuccess = isSuccessful });
}
}
}
感謝您的幫助。
你的方法是某種類型的返回JSON對象,但你的返回類型jsonresult的。我認爲它期望有一個類型 – Baahubali
@ user1490835我的代碼和這一個之間有什麼區別:http://stackoverflow.com/questions/227624/asp-net-mvc-controller-actions-that-return-json-or -partial-html – NinjaOnSafari
System.Web.Mvc.JsonResult是你想要的。我不知道爲什麼「JSON」映射到System.Web.Http.Results.JsonResult。 您可以明確指出: return System.Web.Mvc.Json(new {isSuccess = isSuccessful}); – CooncilWorker