【问题标题】:ASP.NET Core 3.1 "Unsupported handler method return type 'Microsoft.AspNetCore.Mvc.Rendering.SelectList'"ASP.NET Core 3.1“不支持的处理程序方法返回类型'Microsoft.AspNetCore.Mvc.Rendering.SelectList'”
【发布时间】:2019-12-26 09:27:00
【问题描述】:

只要将函数的返回类型设置为 SelectList 我就会收到此错误: 不支持的处理程序方法返回类型“Microsoft.AspNetCore.Mvc.Rendering.SelectList”

        public SelectList OnGetCategories()
        {
            //whatever
            return null;
            
        }

函数体无关紧要。

我什至不使用函数,作为代码中的函数足以引发错误。

SelectListNull 输出无关紧要。

这段代码在 ASP.NET Core 2.2 中运行没有任何错误,我可以通过 jQuery Ajax 调用它以正确格式检索我的类别。

【问题讨论】:

  • 改成public IActionResult OnGetCategories(){ ... return new JsonResult(items); }
  • @itminus 谢谢,我的代码有什么问题?
  • 我的最佳猜测是:您的代码从未在 ASP.NET Core 2.2 RazorPage 中运行。你记错了。实际上,它确实适用于 ASP.NET Core MVC,无论是 2.2 还是 3.1。无论如何,如果您使用的是 RazorPage,请将其更改为返回 IActionResult/void
  • @itminus 相信我它现在在 2.2 上工作,由于一个问题我决定将它转换为 3.1 然后它引发了一个错误,无论如何我要检查你的代码,非常感谢.

标签: asp.net-core asp.net-core-3.0 selectlist asp.net-core-3.1 .net-core-3.1


【解决方案1】:

类似于@itminus in the comments的建议:

public IActionResult OnGetCategories() 
{ 
    return new JsonResult(result); 
}

【讨论】:

  • 真的吗?复制两年前的评论?
  • @MichałTurczyn:我认为将评论提升到答案是可以接受的,尽管它显然应该承认功劳。我已经对其进行了编辑以感谢之前的贡献。 (也就是说,当我这样做时,我通常将其作为社区 wiki 发布,因为这不是我最初的贡献。)
  • 对不起,我错过了信用...谢谢@JeremyCaney 指出这一点...
猜你喜欢
  • 1970-01-01
  • 2021-08-05
  • 2011-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-07
  • 2017-08-19
  • 2020-05-05
相关资源
最近更新 更多