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

时间:2013-12-17 15:55:29

标签: c# asp.net content-type lemoon

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

在我的JobsTemplate.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作为代码隐藏并继承值 - 这是我搞砸了吗?

感谢。

1 个答案:

答案 0 :(得分:0)

看起来您的JobTemplates.aspx页面用于呈现内容类型Mindroute.Lemoon.Modules.CoreModule.Page的页面,编译器会告诉您页面内容类型没有作业属性。

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

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

然后,您必须告诉您的模板它应该呈现类型为Careers的内容项:

public partial class CareersTemplate : PageBase<Careers>

最后您需要在admin中编辑Careers内容类型以使用CareersTemplate。