2009-10-26 8 views
1

나는 불꽃과 함께 다음과 같은 것을하고 싶다. 이 가져 오기를 시도하기 전에 스파크가 ${file}을 평가하지 않기 때문에어떻게 컴파일 된 스파크 뷰를 동적으로 생성 할 수 있습니까?

<viewdata model="IList[[string]]" /> 

<for each="var file in Model"> 
<use import="${file}" /> 
</for> 

이 있지만, 작동하지 않습니다. 이것은 의미가 있으며 나는 그것이 작동하지 않을 것이라고 생각했지만, 어떻게하면 다른 것을 할 수 있을까요?

참고 : 모델은 파일 이름 목록입니다.

답변

0

당신은 항상 Html.RenderPartial()를 사용할 수 있습니다 :

<viewdata model="IList[[string]]" /> 

<for each="var file in Model"> 
    <% Html.RenderPartial(file); %> 
</for> 

편집 :

당신이 정말로 RenderPartial를 작성하지 않으면 내가하지만, 훨씬 더 좋은 방법이 생각하지 않는다, 당신은 한번 할 수 있습니다.

<viewdata file="string"/> 
<% Html.RenderPartial(file); %> 

을 다음처럼 사용 : 당신은 _useview.spark 만들어야합니다

작업을 수행
#var views = new string[] { "View1", "View2" }; 
<for each="string file in views"> 
    <useview/> 
</for> 
+0

. 우리는 이미 그것을 알아 냈습니다. 그러나 Spark를 사용하여 구체적으로 수행 할 수있는 방법이 있는지 궁금합니다. Spark을 사용하여 더 좋은 답변을 얻지 못하면 답으로 표시해 드리겠습니다. 제출해 주셔서 감사합니다. –

+0

빈 useview 태그가있는이 해킹이 실제로 작동합니까? 스파크 구글 그룹에서 볼 수 있듯이, 모든 뷰는 컴파일시에 함께 저장됩니다. 그들은 또한 RenderPartial을 제외하고는 아무것도 제안하지 않습니다. – queen3

+0

그것은 작동합니다. 상위 솔루션과 동일하지만 RenderPartial이 부분보기로 이동됩니다. 각 'file'변수는 '_useview'의 범위에서 볼 수 있습니다. 스파크 생성 된보기 코드는 두 가지 솔루션에서 동일합니다. – LukLed

관련 문제