在MVC4中,ViewBag
是否可能null
?如果是这样,在什么情况下可能是?如果没有,你怎么知道?
具体来说,我想知道视图中是否可以null
。但是,有关它是否可以在控制器中null
的其他信息将非常有用。
例如,我是否需要执行null
检查?
if (ViewBag != null && ViewBag.Something != null && ViewBag.Something.Foo == "Bar")
{
// can ViewBag be null?
}
答案 0 :(得分:17)
不,它不能。
ViewBag
中的WebViewPage
属性getter如下所示:
public dynamic ViewBag
{
get
{
if (_dynamicViewData == null)
{
_dynamicViewData = new DynamicViewDataDictionary(() => ViewData);
}
return _dynamicViewData;
}
}
答案 1 :(得分:5)
ViewBag
本身不能为空,所以第一次检查
if (ViewBag != null)
没用了