c# - 当我的对象仍然为空时处理 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 时,我仍然不知道如何处理。
现在我得到这个错误:
你调用的对象是空的。/ 项目为空。
代码不会进入我的索引页面,因为它是空的。
解决方案
您还需要检查 fornull
或ViewBag.QueueItem
使用as
for 参考转换,以防ViewBag.QueueItem
is 未设置或 is null
。所以你可以像这样调整它:
@{
var item = ViewBag.QueueItem as Rosh.QueueMe.Web.Models.MyQueue;
}
现在item
将设置null
为ViewBag.QueueItem
null
推荐阅读
- python - 如何在 Python 中将字符串转换为这种类型的列表
- javascript - 如何在 HTML Pre 标签中隐藏空行?
- python - 颜色不适用于在 PyQtGraph 中添加图例
- r - 按组排序
- android - 刚刚发布的应用,未与 Google AdMob 关联
- python - 如何获取箱线图中每个中位数的值?
- mysql - 计算与 2 个枚举列相关的平均值
- reactjs - 从 redux 获得第一个响应后如何调用支持的 API?
- r - 我基本上试图运行一个模拟循环,从我的储蓄账户金额中减去生活费用
- mysql - 如何根据源列值的长度从第二个连接表中选择可以连接到两列中的任何一列的行