首页 > 解决方案 > 当我的对象仍然为空时处理 Null 异常

问题描述

我该如何处理这个空异常?

我有一个按钮,可以从我的静态变量类中取出数据

public ActionResult BtnNext()
{
        System.Threading.Thread.Sleep(1000);
        var first = MyQueue.todayQueue.Dequeue();
        MyQueue.todayQueue.Count();
        ViewBag.QueueItem = first;
        return View();
}

这是我的观点,这显示了我出列的数据。

@{
    var item = (Rosh.QueueMe.Web.Models.MyQueue)ViewBag.QueueItem;
}

@{
    if (item != null)
    {
        //Help here.
    }
}


   <p>@item.QueueNumber</p>

当我的 viewbag 仍然为空/null 时,我仍然不知道如何处理。
现在我得到这个错误:

你调用的对象是空的。/ 项目为空。

代码不会进入我的索引页面,因为它是空的。

标签: c#asp.netasp.net-mvc

解决方案


您还需要检查 fornullViewBag.QueueItem使用asfor 参考转换,以防ViewBag.QueueItemis 未设置或 is null。所以你可以像这样调整它:

@{
    var item = ViewBag.QueueItem as Rosh.QueueMe.Web.Models.MyQueue;
}

现在item将设置nullViewBag.QueueItemnull


推荐阅读