2013-04-17 8 views
0

나는 추상적 모델의 하위 클래스 인 다른 모델 유형을가집니다. 나는 그 방법으로 렌더링 해요 :@Display를 재정 의하여

<ul> 
    @foreach(dynamic model in @Model.ModelList) 
    { 
     <li> 
      @Display(model) 
     </li> 
    } 
</ul> 

어떻게 각 유형 (I 각 모델 유형에 대해 다른 cshtmls을 갖고 싶어)은 "표시"를 정의 할 수 있습니다? 나는 그것이 모양과 관련이 있다고 생각한다. 각 유형에 대해 하나의 모양과보기를 정의하려면 어떻게해야합니까? 이 올바른 접근 방법입니까? 뷰에서 사용

public void Discover(ShapeTableBuilder builder) 
    { 
     builder.Describe("MyModel").OnDisplaying(
      displaying => 
       { 
        var elementObject = displaying.Shape; 
        var elementId = elementObject.Id; 
        elementObject.Metadata.Alternates.Add("MyModel__" + EncodeAlternateElement(elementId)); 
       }); 
    } 

    private string EncodeAlternateElement(string alternateElement) 
    { 
     return alternateElement.Replace("-", "__").Replace(".", "_"); 
    } 

:

답변

0

나는 해결책을 (나는 그것이 오차드에 대한 것입니다 경우 totaly 안돼서 있기 때문에, 쉽지 않았다) 새로운 모양을 만들기 알아 냈어요

<ul> 
@foreach (var model in @Model) 
{ 
    <li> 

     @Display(@New.MyModel(Id: model.Id, modelInstance: model)) 

    </li> 
} 
</ul> 
+0

이미 id 기반 대체물이 있어야합니다. –

+0

심각하게? 어쨌든 클래스 이름을 사용합니다. 다른 hadn에. .. 아마 그것은 또한 일할 수 있었느냐? –

관련 문제