2013-12-17 46 views
1

我創建了一個新的'Jobs'內容類型。基本上我希望這個模塊的工作方式與模塊相同,他們只需將工作列表張貼在職業頁面上即可。我主要工作,內容類型顯示在管理員,我可以輸入數據,我想要的。但是,我無法在頁面上呈現它 - 當我嘗試循環並打印作業時,我仍然收到錯誤。Lemoon - 創建一個新的內容導致錯誤的類型

在我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作爲代碼隱藏並繼承了值 - 這是我搞砸了嗎?

謝謝。

回答

0

看起來您的JobTemplates.aspx頁面用於呈現內容類型爲Mindroute.Lemoon.Modules.CoreModule.Page的頁面,編譯器會告訴您該頁面內容類型沒有Jobs屬性。

你應該做的是創建一個名爲招聘內容類型(或修改現有的),並添加一個屬性定義,如:

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

您必須然後告訴你的模板,它應該呈現類型的內容項職業如:

public partial class CareersTemplate : PageBase<Careers> 

最後,您需要編輯admin中的Careers內容類型以使用CareersTemplate。

+0

好吧我放棄了我正在嘗試做的,只是試圖在管理員中創建一個新的內容類型。但是,每次我嘗試,即使它只是一個單一的輸入,我會得到服務器錯誤。這裏是錯誤的截圖:[鏈接](http://d.pr/i/G8Q2)我曾嘗試使用幾種不同的頁面模板 - 但總是在Content.Title上扼殺:/ – cardiac7

+0

我應該注意它可以節省信息很好,並且在管理員方面似乎都很好 - 只是客戶端它嘔吐。 – cardiac7

+0

看起來像內容爲空。如果您的模板背後的代碼繼承了「錯誤」類型,就會發生這種情況。模板是通用的,通常應該從PageBase 繼承。請參閱http://www.lemoon.com/developers/programming/aspnet/templates – lajjne

相關問題