Umbraco网站对现有对象抛出NullReferenceException

时间:2018-10-08 19:14:29

标签: c# razor umbraco

我正在通过LiveAppData Models Builder将UmbracoCms 7.12用于我的网站。

在后端,我已经为其创建了必需的DocumentType(即模型)和视图/局部视图。

部分视图的以下代码在执行时引发NullReferenceException。 当我进入调试模式时,对象确实存在,并且调用testimonialItems [0]返回非空对象。证明在下面的截图中。 TestimonialsSection-是带有TestimonialItem子项的文档类型。 在后端,我在他体内创建了两个孩子。

以下代码在var testi = testimonialItems[i];行处引发。即使我对此行发表评论,它也会开始引发@header NullReferenceException。

@inherits UmbracoTemplatePage<TestimonialsSection>
@{


    var testimonialItems = this.Model.Content.Children<TestimonialItem>().ToList();

    var header = this.Model.Content.Header;

    var body = this.Model.Content.Body;
}


@{
    <div id="testimonials" class="testimonials-section">
        <div class="container">
            <h2 class="section-title text-center">@header</h2>

            @for (var i = 0; i < testimonialItems.Count; i++)
            {
                var testi = testimonialItems[i];

                <div class="item mx-auto @(i % 2 == 0 ? "" : "item-reversed")">
                    <div class="profile-holder">
                        <img class="profile-image" src="@testi.Image.Url" alt="profile">
                    </div>
                    <div class="quote-holder">
                        <blockquote class="quote">
                            <p>@testi.Body</p>
                            <div class="quote-source">
                                <span class="name">@testi.Header</span>
                            </div>
                        </blockquote>
                    </div>
                </div>
            }

        </div>
    </div>
}

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

有时调试器未在正确的位置显示错误。我知道这听起来很疯狂,但对我来说却发生了几次。

尝试在循环内注释代码的某些部分,以查看哪些部分中断了。

也许testi.Image.Url为空,这会打断您的页面。如果您未指定任何图片,则该图片可能为null。