2009-05-27 8 views
2

콘솔/winform 작업으로 정적 html 파일을 많이 만들어야합니다. 현재 솔루션은 문자열 작성기를 사용합니다. 강력하게 형식화 된보기 페이지 (System.Web.Mvc.ViewPage)로 ASP.NET MVC를 사용하면 이러한보기 페이지를 활용하고 ASP.NET 솔루션을 빌드하지 않고 스트림이나 파일로 출력 할 수 있는지 궁금합니다.ASP.NET (MVC) - 페이지를 파일로 렌더링

필자는 기본적으로 뷰 페이지를 만들고 강력한 형식의 개체를 전달하여 결과를 렌더링하고 싶습니다.

다른 뷰 엔진에도 열려 있습니다.

전체 주방 싱크대를 가져 오는 것이 필요하면 결국 문자열 작성기 스타일을 수행 할 수 있습니다.

감사합니다.

+0

, 왜 종료 더 XSLTish 솔루션을 향해 찾고 당신의 WinForm/콘솔 작업이 렌더링을 수행하는 방법에 유연하게되지 않습니까? – Perpetualcoder

+0

어쩌면 이걸 봐? http://www.codeproject.com/KB/XML/XML_to_HTML_Convertor.aspx – Perpetualcoder

+0

Yah .... ASP ViewPage를 사용하고 싶습니다. 디자이너가 HTML에 도움이되기 때문에 사용하고 싶습니다. 하지만 그 두 가지 이유는 다소 약한 것 같습니다 :) – anonymous

답변

2

템플릿 엔진이 필요합니다. 나는 당신을 StringTemplate 추천 할 것이다. 독립 실행 형 엔진으로 사용할 수 있으며 .NET 버전이 있습니다. 시작을 할 수있는 CodeProject article이 있습니다.

AFAIK ASP.NET WebForms는 ASP.NET 인프라 없이는 실행할 수 없습니다.

+0

http://stackoverflow.com/questions/2394724/can-i-run-a-aspx-and-grep-the-result-without-making-http-request를 참조하십시오. – DuckMaestro

5

귀하의 질문에 대해 명확하지 않은 내용이므로 도움이 될 것입니다.

 
[ControllerAction] 
public void About() 
{ 
    StringWriter builder = new StringWriter(); 
    TextWriter originalWriter = Response.Output; 
    Response.SwitchWriter(builder); 
    RenderView("About"); 

    string html = builder.ToString(); 

    originalWriter.Write(html); 
} 
+0

미안하지만, 나는 분명하지 않았다. 나는 그것을 어떻게 표현할 지 확신하지 못했습니다. 나는 실제 웹 사이트를 만들고 싶지 않다 ... 나는 단지 html 파일을 뱉어내는 콘솔 애플리케이션을 원한다. 나는이 HTML 파일을 만들기위한 템플릿으로 ASP.NET ViewPage (특히 Mvc를 강력하게 형식화 한 템플릿)를 사용하기를 바랬다. – anonymous

+0

나는 당신의 해결책을 좋아하지 만 ... 그것은 다른 것들을 알고있는 것이 좋다. :) +1! – anonymous

3

나는 개인적으로 위에서 언급 한 StringTemplate 옵션을 좋아하지만 실제로 데스크톱 응용 프로그램에서 ASP.NET 런타임을 호스팅 할 수 있습니다.

릭 Strahl West Wind Technologies 그것을 설정하는 방법에 대한 자세한 예를 가지고 넘어서 : Using the ASP.Net Runtime for extending desktop applications with dynamic HTML Scripts

다음

다른 몇 가지 예입니다 :

관련 문제