Lemoon - 创建导致错误的新内容类型

本文关键字:新内容 类型 错误 创建 Lemoon | 更新日期: 2024-10-25 16:06:02

我创建了一个新的'作业'内容类型。基本上,我希望它以与模块相同的方式工作,它们只是允许在职业页面上发布工作列表。 我让它大部分工作,内容类型显示在管理员中,我可以根据需要输入数据。但是我现在无法让它在页面上呈现 - 当我尝试循环并打印出作业时,我不断收到错误。

在我的工作模板.aspx文件中,我有以下内容:

<% if (!Content.Jobs.IsNullOrEmpty()) {
                foreach (var item in Content.Jobs.AsSmartEnumerable()) {
                    var job = item.Value.Value as Jobs; %>
                    <% if (item.Index % 3 == 0) { %>
                    <div class="row-fluid modules">
                    <% } %>
                    <div class="span4">
                    <h2><%: job.Title %></h2>
                    <%= job.Body %>
                    <% if (job.Link.HasValue()) { %><p><a class="btn" href="<%= job.Link.Url() %>"><%: Resources.Strings.LearnMore %> &raquo;</a></p>
                    <% } %>
                    </div>
                    <% if (item.IsLast || !item.IsFirst && item.Index % 2 == 0) { %>
                    </div>
                    <% } %>
                <% } %>
                <% }%>

这会产生错误:

Compiler Error Message: CS1061: 'Mindroute.Lemoon.Modules.CoreModule.Page' does not contain a definition for 'Jobs' and no extension method 'Jobs' accepting a first argument of type 'Mindroute.Lemoon.Modules.CoreModule.Page' could be found (are you missing a using directive or an assembly reference?)

我错过了什么? 在 JobsTemplate.aspx 文件中,我使用 JobsTemplate 作为代码隐藏并继承值 - 这是我搞砸的地方吗?

谢谢。

Lemoon - 创建导致错误的新内容类型

看起来

您的 JobTemplates.aspx 页面用于呈现内容类型为 Mindroute.Lemoon.Modules.CoreModule.Page 的页面,编译器告诉您 Page 内容类型没有 Jobs 属性。

您应该做的是创建一个名为 Careers 的内容类型(或修改现有内容类型)并添加属性定义,如下所示:

public List<ContentRef> Jobs { get; set; }

然后,您必须告知模板它应呈现职业类型的内容项,例如:

public partial class CareersTemplate : PageBase<Careers>

最后,您需要在管理员中编辑"职业"内容类型以使用"职业模板"。