在我们的Umbraco网站上运行7.5.11升级后,我在其中一个部分视图宏文件(cshtml)中出现异常:
System.NullReferenceException: Object reference not set to an instance of an object.
at Umbraco.Web.PublishedContentExtensions.GetPropertyValue(IPublishedContent content, String alias)
异常指向这一行:
var mediaItem = Umbraco.TypedMedia(item.GetPropertyValue("propAliasString"));
该行在此foreach循环中:
@foreach (var item in news.Where(x => x.GetPropertyValue<int>("group") == year.Key).OrderByDescending(y => y.GetPropertyValue("date")))
{
var mediaItem = Umbraco.TypedMedia(item.GetPropertyValue("announcement"));
<div class="panel-body">
<span class="glyphicon glyphicon-file" aria-hidden="true"></span> <a href="@mediaItem.GetPropertyValue("umbracoFile")" target="_blank">@item.GetPropertyValue("headline")</a>
<p style="margin-left:16px;" class="date">@( Convert.ToDateTime(item.GetPropertyValue<string>("date")).Date.ToString("d. MMMMM yyyy"))</p>
</div>
}
我试图浏览Umbraco文档,了解有关此问题的api从7.4到7.5的变化。
在升级之前,这有效。
你们有没有遇到过这种错误? - 更重要的是找到了解决方案?
最好的问候 的Jesper答案 0 :(得分:0)
找到解决方案 - 有点尴尬。
需要检查属性是否为空值:
var mediaItem = Umbraco.TypedMedia(item.GetPropertyValue(".."));
if(mediaItem != null)
{
....
}
无论如何,我的理由是它在升级之前有效。 : - )
/的Jesper