You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core展示复杂类数据时模型类型不匹配如何解决

错误根因

你的ASP.NET Core程序报错的核心原因是Action返回的模型类型与视图声明的接收模型类型不匹配:
你当前在Privacy方法中给视图返回的是单个EnergaticWebApp.Models.MyModel类型的对象,但对应的Privacy.cshtml视图顶部声明的模型接收类型为List<EnergaticWebApp.Models.MyModel>,类型不一致触发了运行时异常。

可行解决方法

根据你的业务需求二选一即可:

  • 方案1:修改视图的模型声明(适合只需要展示单条MyModel数据的场景)
    打开Views文件夹下对应Privacy.cshtml文件,把顶部的@model声明改为:

    @model EnergaticWebApp.Models.MyModel
    

    改完后和你Action返回的单个对象类型完全匹配,直接就能正常运行。

  • 方案2:修改Action的返回值(适合视图确实需要接收MyModel集合的场景)
    把你Privacy方法中返回视图的代码,把单个jsonModel包装成列表再传递,修改后代码如下:

    // 把单个对象包装为List<MyModel>集合后再传给视图
    return View(new List<MyModel> { jsonModel });
    
额外优化建议

可以给反序列化的结果增加空值判断,避免json文件内容异常导致jsonModel为null,后续视图访问属性时触发空引用异常:

var jsonModel = JsonSerializer.Deserialize<MyModel>(jsonString, options) ?? new MyModel();

内容的提问来源于stack exchange,提问作者Asad Malikz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 10:15:04