君落华 2022-11-14 16:12 采纳率: 33.3%
浏览 1276
已结题

System.NullReferenceException:“未将对象引用设置到对象的实例。”

问题遇到的现象和发生背景

System.NullReferenceException
HResult=0x80004003
Message=未将对象引用设置到对象的实例。
Source=NewsSystem
StackTrace:

img

id和desc可以传过去

img

img

用代码块功能插入代码,请勿粘贴截图

视图中的代码

<script src="~/layui/layui.js"></script>
<script src="~/Js/jquery-3.4.1.min.js"></script>
<h2>编辑新闻</h2>
<div class="layui-form">
    <input type="hidden" id="id" value="@Model.id" />
    <div class="layui-form-item">
        <label class="layui-form-label">标题</label>
        <div class="layui-input-block">
            <input type="text" name="title" id=" title" required lay-verify="required" placeholder="请输入标题" autocomplete="off" class="layui-input" value="@Model.Title" />
        </div>
    </div>
    <div class="layui-form-item layui-form-text">
        <label class="layui-form-label">内容</label>
        <div class="layui-input-block">
            <textarea name="desc" id="desc" placeholder="请输入内容" class="layui-textarea" >@Model.Text</textarea>
        </div>
    </div>
    <div class="layui-form-item">
        <div class="layui-input-block">
            <button class="layui-btn" lay-submit lay-filter="formDemo" id="btn">立即提交</button>
        </div>
    </div> 
</div>
<script>
    $(function () {
        $("#btn").click(function () {
            $.ajax({
                url: '/News/EditNewsAction',
                type: 'post',
                data: {
                    'id': $('#id').val(),
                    'title': $('#title').val(),
                    'desc': $('#desc').val(),
                },
                success: function (msg) {
                    if (msg == '修改成功') {
                        location.href = '/News/Index';
                    }
                    else {
                        layer.open({
                            title: '警告',
                            content: '标题或者内容为空'
                        });
                    }
                },
            })
        })
    })
</script>

 public int Update(News t)
        {
            if (t == null) return 0;
            var model = db.News.ToList().FirstOrDefault(item => item.id == t.id);
            if (model == null) return 0;
            model.Title = t.Title;
            model.Text = t.Text;
            int count = db.SaveChanges();
            return count;
        }

实体类

public partial class News
    {
        public int id { get; set; }
        public string Title { get; set; }
        public string Text { get; set; }
        public System.DateTime InsertDate { get; set; }
        public int MemberId { get; set; }
        public string MemberName { get; set; }
    }

数据库的设计

img

运行结果及报错内容

System.NullReferenceException:“未将对象引用设置到对象的实例。”

我想要达到的结果

解决title传值的原因

  • 写回答

4条回答 默认 最新

  • 游一游走一走 2022-11-14 16:19
    关注

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 於黾 2022-11-14 16:15
    关注

    未将对象引用设置到对象的实例
    但凡出现这个错误,表示你有对象是null,但你没有做非空判断就直接去调用它内部的属性或方法
    很显然title没有传过来
    你好好看看前端到底是怎么传值过来的,是不是前后端没有对应

    评论
  • Jackyin0720 2022-11-14 16:25
    关注

    问题分析:
    对象为null时,使用对象的属性或方法 导致报错。

    问题解决:
    使用对象的属性和方法之前,先判断对象是否为空。
    代码示例:

    
    string str=null;
    if(str!=null){
        var strList=str.Split(',').ToList();
    }
    

    【如果还是没解决问题, 建议使用:Try……Catch……Finally捕捉错误,或者直接使用response.write()输出所取的变量值】

    评论 编辑记录
  • CSDN-Ada助手 CSDN-AI 官方账号 2022-11-14 18:59
    关注
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月19日
  • 已采纳回答 11月14日
  • 创建了问题 11月14日

悬赏问题

  • ¥15 k210显示failed init to model
  • ¥15 Evil-droid生成的APK手机已经下载但无法建立任务
  • ¥25 c语言韩信点兵的变式
  • ¥15 怎么根据书上的例子完成这个问题呢?
  • ¥15 ECharts 增加Zoom,整行包括右边的Text一起滑动
  • ¥15 关于网上一个easyx制作的见缝插针小游戏(c++)
  • ¥15 开地址法双散列函数处理碰撞
  • ¥15 想问一下这个是什么情况 虚拟机Linux打不开了
  • ¥15 联通光猫掉注册了怎么重新注册上去
  • ¥15 关于unity开发steamvr程序遇到的问题