2016-08-12 6 views
0

저는 Razor를 텍스트 템플릿 엔진으로 사용하고 있으며, cshtml 파일의 맨 위에 몇 개의 변수를 초기화해야합니다.면도칼 : 출력에 새 줄을 삽입하지 않고 코드 블록을 유지하는 방법은 무엇입니까?

@{ModelContext M = Model;} 

문제는 상기 문을 출력하는 \ r \ n을 추가한다는 것이다.

이 동작은 모든 출력 유형에 적용됩니다. 출력물의 일부가 아닌 다른 면도기 태그 나 구문을 사용해야 할 것으로 예상됩니다. 예를 들어, @using는 출력을 생성하지 않습니다.

출력에 새 줄을 삽입하지 않고 코드 블록을 만들 수있는 방법이 있습니까?

+0

어디에서 추가하나요? 당신의 결과는 무엇입니까? – Shyju

+0

내가 언급 한 태그는 \ r \ n이됩니다. 이 동작은 모든 유형의 출력에 적용됩니다. 출력에 포함되지 않는 다른 면도날 태그 나 구문을 사용해야 할 것으로 예상됩니다. 예를 들어, @using는 출력을 생성하지 않습니다. –

답변

0

@using은 문장을 html 코드로 바꾸는 텍스트/문자열 기록기 기능을 시작합니다.

@{var M = Model;} 

클래스를 생성 할 때이 미치는 영향에 대한 흐름을 가질 수 있기 때문에 단지 그렇게 RazorEngine 클래스를 컴파일 할 때, 그것은 컴파일 된 템플릿에서 @{} 문을 제거하지 않는 C#을 문입니다.

따라서이 문제를 해결하는 유일한 방법은 템플릿 실행 후 반환 된 문자열을 구문 분석하고 here이이를 수행하는 방법의 예입니다.

+0

내부에 C# 코드를 실행하는 동안 전체 줄을 출력에서 ​​제외하는 면도기 구문이 있습니까? –

+0

불행히도 나는 알고 있지 않습니다. – timkly