2010-06-27 2 views
0

Application.spark으로 무시 :스파크보기 엔진 - 컨텐츠라는 이름은 RenderAction

<html> 
    <head> 
    <use content="head"/> 
    </head> 
    <body> 
    <use content="view"/> 
    </body> 
</html> 

Index.spark :

# Html.RenderAction("Hello"); // This renders _Hello.spark 

_Hello.spark : _Hello의

<content name="head"> 
    <script src="/hello.js"></script> 
</content> 

<p>hello</p> 

그리고 머리 컨텐츠를 .spark는 무시됩니다. 어떻게 포함시킬 수 있습니까?

답변

0

RenderAction은 일반적으로 마스터보기 (레이아웃)가없는 부분보기를 렌더링합니다. _Hello.spark에 대한 마스터 레이아웃을 지정하려고 할 수 있지만 마스터 뷰 내부가 아닌 부분 결과 내부에 렌더링됩니다.

당신은 < 사용 파일을 사용하려고 할 수 = "_ Hello.Spark"/ > (또는 < 안녕하세요/>) 대신에,이 희망의 주요 마스터 레이아웃의 헤드 내용을 렌더링합니다. 그러나 이것은 _Hello.spark가 동작이 아닌 순수한 부분적인 뷰임을 요구합니다.

RenderAction이 필요한 경우 헤드 콘텐츠를 수정할 수 없습니다. RenderAction은 런타임에 Spark 외부에서 개별적으로 실행되며, 컴파일시 헤드 내용 병합이 Spark에 의해 수행됩니다.

JavaScript를 사용하여 렌더링 된 작업 결과에서 헤드 콘텐츠를 수정할 수 있습니다.

또는 기본보기에 스크립트 포함을 지정할 수 있습니다.

코드를 중복되지 않도록 _HelloIncludes.spark에 넣고 < HelloIncludes/>해도됩니다.