【发布时间】:2016-05-10 08:43:41
【问题描述】:
我正在尝试让我的 apicontroller 工作。但不知何故我无法返回Json()。
这是来自编译器的错误消息:
错误 CS0029 无法隐式转换类型 'System.Web.Http.Results.JsonResult' 到 'System.Web.Mvc.JsonResult' Opten.Polyglott.Web D:\Development\git\Opten.Polyglott\src\Opten.Polyglott.Web\Controllers\NewsletterApiController.cs
我无法解释为什么它不能将 Json() 转换为 ActionResult 甚至 Json()inherits 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。我认为它需要一种类型
-
@user1490835 我的代码和这个有什么区别:stackoverflow.com/questions/227624/…
-
System.Web.Mvc.JsonResult 是您想要的。我不确定为什么“JSON”映射到 System.Web.Http.Results.JsonResult。您可以明确说明: return System.Web.Mvc.Json(new { isSuccess = isSuccessful });
标签: c# json asp.net-mvc-4 controller asp.net-apicontroller