0
A
답변
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);
끝 부분 근처에 선이 보이나요? 그것은 대체물을 추가하는 것이므로 테마의보기 폴더에 list.things.cshtml이라는 파일을 작성하여 특정 목록에 대한 특정 템플리트를 빌드 할 수 있습니다.
절대적으로 유용한 팁 ... 호출기가 있고 호출기를 재정의하지 않고 결과 목록에 대체 기능을 제공하려는 경우이 기능이 필요합니다. – manudea
btw : probaly 호출기는 대체 자격이 있습니다 : list.Metadata.Alternates.Add ("pager"); – manudea