2012-06-01 6 views
2

면도날 템플릿을 사용하여 .aspx 페이지를 출력으로 생성하려고합니다. 나는 행운을 빌어 문서를보고 이것을하는 방법을 찾고있다.면도기 템플릿을 사용하여 .aspx 페이지 생성

TemplateCompileException : CS1501 :이이 오류의 원인이된다

<%@ Page Language="C#" Title="@Page.Metadata.browser_title" %> 
<%@ Import Namespace="System.Xml" %> 

: 방법 '쓰기'에 대한 과부하를 0 인수를 줄 27 열 1 : 페이지와 네임 스페이스 선언은 템플릿을 깨고있다 (쓰기);

위의 선언에서 "@"를 사용하기 때문에 C# 구문을 사용하는 Razor 템플릿에서 두 충돌이 발생한다고 생각합니다. 템플릿을 실행 한 후 Razor 템플릿을 사용하여 렌더링 된 제품에서 C#으로 출력물을 생성 할 수있는 방법이 있습니까? 위의 예제는 또한 "제목"값을 템플릿 밖으로 렌더링해야하는 방법을 보여줍니다.

+1

왜 당신은 그렇게하고 있습니까? – SLaks

+0

Tridion 제작자를위한 Razor Mediator가 SO에서 어울리지 않는 것 같기 때문에, 나는 그의 블로그에서 그를 묻는 것이 좋습니다. http://www.codedweapon.com/ –

+0

처음에는 Tridion이라는 콘텐츠 관리 시스템을 사용했습니다. 여기서 페이지의 내용은 비 개발자가 입력합니다. 이전에 DWT를 사용해 왔지만 레이아웃 템플릿에서보다 유연한 옵션을 사용하려면 Razor를 사용하는 대신 개념 증명을하고 있습니다. 면도칼/C#은 템플릿 코드를 운영하지만, 사이트가 .net 기반이고 masterpages, 사용자 정의 컨트롤 등을 사용하기 때문에 프로덕션 서버의 페이지에도 C#이 있습니다. – user1408652

답변

6

<%@은 유효하지 않은 면도기 구문입니다.
<%@@을 작성하여 이스케이프 처리해야합니다.

+0

대단히 감사합니다. 나는 그것을 해결하기 위해 구문을 추측하면서 @<% @ 및 @ {<% @ ...}을 시도했다. 다시 한 번 감사드립니다! – user1408652

+0

@ user1408652이 방법이 제대로 작동하는 경우 허용되는 답변으로 표시하십시오. –

1

모든 Razormediator 템플릿 뒤에 태그를 추가하려면 C# TBB를 쓰거나 기본 마침 작업 (사용하는 경우)을 추가 할 수 있다면 더 좋게 만들 수 있습니다. 면도기처럼 당신이, 어쩌면 당신이 DD4T (http://code.google.com/을 확인해야하는 경우

신속하고 더러운 샘플 코드 ...이 도움이

Item OutputItem = package.GetByName(Package.OutputName); 
    string OutputText = OutputItem.GetAsString(); 

    // Page tag declaration.. 
    string pagePretags = @"<<TWO LINES OF DECLARATIONs..>>" 
    string FinalOutputText = pagePretags + OutputText ; 

    OutputItem.SetAsString(FinalOutputText); 

희망 ..

2

p/dynamic-delivery-4-tridion /). Razor 뷰가있는 ASP.Net MVC를 사용하여 웹 사이트를 구축 할 수 있습니다.