2012-06-28 3 views
0

MVT 프로젝트의 뷰 엔진으로 StringTemplate 버전 3.1.4.6002를 사용하고 있습니다. 템플릿에 전달되는 객체에 액세스하여 웹 페이지에서 렌더링하는 것처럼 보이지 않습니다. 그러니까 기본적으로, 나는이 (가) (C#으로) 컨트롤러에서 다음과 같습니다 뷰 파일 test.st에StringTemplate에서 ViewDataDictionary 객체에 제대로 액세스 할 수 없습니다.

var layer1 = new { count = "1", label = "Description" }; 
var layer2 = new { count = "2", label = "Transcription" }; 
ViewData["layers"] = new object[] {layer1,layer2}; 

, 내가 가진 :

$layers:{ 
    $it.count$ 
    $it.label$ 
}$ 

템플릿은 웹 페이지에 아무것도 표시되지 않습니다 나는 test.st에서이 작업을 수행하는 경우 만 :

{ count=1, label=Description } { count=2, label=Transcription } 
,536,913 :

$layers$ 

는이 같은 객체를 표시

내게는 문자열과 비슷합니다. 그렇다면 카운트와 라벨에 어떻게 독립적으로 액세스 할 수 있습니까? 나는 이미 많은 봤 거든 내 문제를 해결할 것이라고 아무것도 찾을 수없는 것.

그런데 Visual Studio V10과 .NET Framework Version4를 사용하고 있습니다. 이 프로젝트에는 Antlr3.Runtime, Antlr3.Runtime.Debug 및 Antlr3.StringTemplate dll에 대한 참조가 있습니다. 또한 간단한 문자열 개체에 액세스하는 데 문제가 없습니다. 튜토리얼 프로젝트를 here에 사용했습니다. 필요한 경우 자세한 내용을 제공 할 수 있습니다.

답변

1

수 및 라벨 필드는 공개입니까, 아니면 게터 인 경우 공개입니까?

+0

나를 올바른 방향으로 안내해 주셔서 감사드립니다. 익명 형식 layer1, layer2 및 layer3을 내부 액세스 및 공개 필드가있는 개체로 변환 했으므로 이제 웹 페이지에서 값을 볼 수 있습니다! 그건 그렇고, 난 그냥 StringTemplate을 발견하고 정말 그 단순에 판매 해요. 우리는 직장에서 XSLT를 사용하고 있으며, 내가 기억하는 엄청난 학습 곡선을 가지고 있습니다. 나는 그것을 사용할 때 미래에 새로운 질문을 게시 할 수 있습니다. 훌륭한 일을 계속하십시오! –

+0

듣기 좋습니다! 감사! –

관련 문제