使用 ASP.NET.MVC 库有一种方法
[HttpGet]
public JsonResult GetData()
{
JsonResult result;
InvoiceData dt = new InvoiceData();
result = Json(dt, JsonRequestBehavior.AllowGet);
return result;
}
现在这条路不见了
Cannot implicitly convert type 'Microsoft.AspNetCore.Mvc.JsonResult' to 'Microsoft.AspNetCore.Mvc.HttpGetAttribute'
我在项目文件中仅添加了标准 NET Core 8 库
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
</Project>
并且不添加古老的支持库,但现在怎么可能返回Json结果?
在 ASP.NET Core 中,
JsonResult
的工作方式与旧版本的 ASP.NET MVC
不同。 ASP.NET Core 中不再需要 JsonRequestBehavior.AllowGet
选项。
您需要修改您的代码,如下所示:
public class HomeController : Controller
{
[HttpGet]
public JsonResult GetData()
{
JsonResult result;
InvoiceData dt = new InvoiceData();
result = Json(dt);
return result;
}
}
然后确保
Controller
、HttpGetAttribute
和 JsonResult
都在 Microsoft.AspNetCore.Mvc
中。 Json
方法属于 Controller
类。
您可以指定命名空间,如下所示:
public class HomeController : Microsoft.AspNetCore.Mvc.Controller
{
[Microsoft.AspNetCore.Mvc.HttpGet]
public Microsoft.AspNetCore.Mvc.JsonResult GetData()
{
Microsoft.AspNetCore.Mvc.JsonResult result;
InvoiceData dt = new InvoiceData();
result = Json(dt);
return result;
}
}