2011-09-30 42 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

相关问题