2011-09-30 75 views

回答

3

當然可以。由於上下文有點模糊,我會做出假設。我假設你有一個控制器動作構建列表(類似於博客的做法)。從行動上來說,你通常會建立一個列表形狀,其代碼如下所示:

var pager = new Pager(_siteService.GetSiteSettings(), pagerParameters); 
var things = _someServiceClass.GetThings(something) 
    .Skip(pager.GetStartIndex()).Take(pager.PageSize)) 
    .Select(p => Shape.Thing_Summary(
     Thing: p, 
     SomethingElseThatIsRelevantToTheTemplate: foo)); 

Shape list = Shape.List(Pager: pager); 
list.AddRange(things); 
list.Metadata.Alternates.Add("list_things"); 

return new ShapeResult(this, list); 

看到那條線接近尾聲?它將添加備用,以便您可以通過在主題的views文件夾中創建名爲list.things.cshtml的文件來爲該特定列表構建特定模板。

+0

絕對好的提示......如果你有一個尋呼機,並且你想爲結果列表提供一個替代而不覆蓋尋呼機,你將需要這個。 – manudea

+0

btw:probaly尋呼機將值得一個備用:list.Metadata.Alternates.Add(「pager」); – manudea

相關問題