Glass Mapper未加载临时区域中的视图渲染模型

时间:2013-09-24 10:11:15

标签: asp.net-mvc sitecore glass-mapper

使用Sitecore 6.6和Glass 3.0

我做了一个MVC布局,它使用了一个通过Glass查看渲染。我正试图展示亮点。

我制作了名为GlassHighlights的视图渲染,其中设置了以下字段:

  • 路径:/Views/Renderings/KRN/GlassHighlight.cshtml
  • 型号:/sitecore/layout/Models/KRN/Highlights

Sitecore中的模型具有以下字段集: 型号类型:Models.Sitecore.Content.Items.HighLights.Models

“视图渲染”放置在名为GlassTest的项目的布局详细信息上(在其他一些渲染中),并放置在占位符“主体”上。数据源设置为sitecore中的正确子文件夹。

这是在C#中定义的模型:

using System.Collections.Generic;
using Glass.Mapper.Sc.Configuration.Attributes;

namespace Models.Sitecore.Content.Items
{
    /// <summary>
    /// Container folder for the highlights
    /// </summary>
    [SitecoreType(AutoMap = true)]
    public class HighLights
    {
        /// <summary>
        /// Collection of Highlight items
        /// </summary>
        [SitecoreQuery(".//*[@@TemplateId='{EA8BF7CA-157F-4CF4-A2D8-36242304E8FA}']", IsRelative = true)]
        public virtual IEnumerable<Highlight> Items { get; set; }       
    }
}

这是razorview,因为它在项目中定义:

@inherits Glass.Mapper.Sc.Web.Mvc.GlassView<Models.Sitecore.Content.Items.HighLights>    

<div class="row topHWContainer">
    @{
        foreach (var highlight in Model.Items)
        {
        <div class="four columns topHW column-first">
            <a href="/eenheiddetails/@highlight.PublicatieID">
                <img src="/Style/Images/bgkArrowRightBlack.png" alt="bgkArrowRightBlack" width="19" height="14">
                <label>@highlight.Titel</label>
                <img src="@highlight.AchterGrondImage.Src" alt="Pimpernel" width="302" height="218" class="topHWimg">
                <div class="topHWinfo">
                    <label>@highlight.Plaats € @highlight.Huur</label>
                </div>
            </a>
        </div>                       
        }
    }
</div>

在我尝试使用某些东西时,代码可能不是完全最佳的。

现在,这就是问题:当我在本地运行网站时,它的工作非常好。所有数据都呈现为应该呈现的内容,所有数据都充满了Sitecore的内容。

当我部署到分段时,模型没有填充,并且当它尝试启动foreach时我得到一个空引用异常。 Model本身不为null,但Model.Items为null。为什么会这样?我想指出,我的本地指向Sitecore Master和Staging指向Web;但是我已经部署了所涉及的所有项目。我监督了什么吗?

为什么本地工作和分期没有?

2 个答案:

答案 0 :(得分:1)

你能检查一下Glass.Mapper是否正在加载程序集吗?如果您将模型放在与网站不同的程序集中,则需要确保它们已加载,请参阅教程http://glass.lu/docs/tutorial/sitecore/tutorial20/tutorial20.html

答案 1 :(得分:0)

我在Sitecore本身运行时遇到了问题,经过一些广泛的研究后他们得出结论我应该升级到Sitecore 7.0(我现在在6.6)