2012-05-11 11 views
2

私はUmbraco 5(完全な初心者)と一緒に遊んでいて、現在は表面コントローラーとマクロを試そうとしています。Umbraco 5表面コントローラーと部分的なマクロ

public class TestSurfaceController : SurfaceController 
{ 
    // 
    // GET: /TestSurface/ 

    [ChildActionOnly] 
    public ActionResult GetTest() 
    { 
     List<Test> test = new List<Test>(); 
     test.Add(new Test { TestTitle = "Test" }); 

     return View(test); 
    } 

} 

と部分マクロ:

@inherits RenderViewPage 
@using System.Web.Mvc.Html; 
@using Umbraco.Cms.Web; 
@{ 
Layout = "_Layout.cshtml"; 
} 

@section head 
{ 
@Umbraco.RenderMacro("getTest") 
} 

方法:

@inherits PartialViewMacroPage 
@using Umbraco.Cms.Web 
@using Umbraco.Cms.Web.Macros 
@using Umbraco.Framework 

@model IEnumerable<Umbraco.Models.Test> 

<ul> 
    @foreach (var test in Model) 
    { 
    <li>@test.TestTitle</li> 
    } 
</ul> 

そして、私の自宅のテンプレート上

が、私はそれを呼び出す

私は基本的な表面のコントローラを作成しましたulにテストを表示するだけですか?モデルが使用されている場合、継承を使用できないというエラーが表示されます。継承を取り除くと、提供されたモデルが期待どおりではないというメッセージが表示されます。

答えて

2

@inherits RenderViewPage 作業中のサーフェスコントローラアクションとパーシャルビューの例を投稿できるようにするには、この行を部分ページから削除します。 希望があれば幸いです。 実施例は、その後、私の部分図は、私はそれを奪うならば、私はビューが一つのモデルを期待しているというエラーを取得しますが、別の何かを得た

@using Umbraco.Cms.Packages.SystemInfo.Models 
@model Umbraco.Cms.Packages.SystemInfo.Models.ApartmentListModel 
@{ 
//Html Code 
} 
+0

で、以下

public class MDSSurfaceController : SurfaceController { public MDSSurfaceController(IRoutableRequestContext routableRequestContext) : base(routableRequestContext) { } [ChildActionOnly] public PartialViewResult ApartmentListMacro(string apartmentType, string Name, string PropertyRfDicItem, string RatesperNightDict, string SleepsDict, string BedroomsDict, string BathroomsDict, string ViewDict) { ApartmentListModel apM = new ApartmentListModel(); //initialize model return PartialView(apM); } 

です。 – Paul

+0

私は私の答えを更新しました。それは助けてくれるでしょう:) – Sher

+0

ありがとう:-) – Paul

関連する問題