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

.Net Core MVC中出现Object reference not set to an instance of an object错误求助

排查Object reference not set to an instance of an object错误

你的代码里触发空引用异常的可能性集中在三个点,逐个排查修复:

  • hbprint 为空:_vw_BPS.FindAsync(x => x.Id == id)未找到匹配数据时会返回null,后续直接访问hbprint.Vw_hcsp会触发异常。
    修复:先判断hbprint是否为null,再执行遍历逻辑:

    hbprint = await _vw_BPS.FindAsync(x => x.Id == id);
    if (hbprint == null)
    {
        // 处理无数据场景,比如记录日志或终止流程
        return;
    }
    foreach (var hbs in hbprint.Vw_hcsp)
    {
        // 后续代码
    }
    
  • hbprint.Vw_hcsp 为空:即使hbprint存在,它的Vw_hcsp属性可能未初始化(值为null),遍历null集合会报错。
    修复:遍历前判断是否为null,或者用空集合兜底:

    foreach (var hbs in hbprint.Vw_hcsp ?? Enumerable.Empty<你的Vw_hcsp类型>)
    {
        // 后续代码
    }
    
  • stock 为空:_vw_hcsp.FindAsync(x=> x.HId == id)未找到匹配数据时返回null,后续访问stock的各类属性会触发异常。
    修复:先判断stock是否为null,再创建svm对象:

    var stock = await _vw_hcsp.FindAsync(x=> x.HId == id);
    if (stock != null)
    {
        var svm= new Vw_hcsp
        {
            HId = stock.HId,
            HBLContainerId = stock.HBLContainerId,
            Chassis_No = stock.Chassis_No,
            ContainerNo = stock.ContainerNo,
            Seal_No = stock.Seal_No,
            Vehicle_Model = stock.Vehicle_Model,
            Gross_Weight_Stock = stock.Gross_Weight_Stock,
            Volume_Stock = stock.Volume_Stock
        };
        // 注意:需对svm做后续处理(如添加到集合),否则对象创建后无实际作用
    }
    

内容的提问来源于stack exchange,提问作者Samiksha Bhoir

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 13:15:39