2013-02-18 3 views
1

В моем приложении ASp.Net MVC 3 я использую механизм RAZOR для генерации html с помощью шаблонов. Он отлично работает для просмотра в браузере. Но я хотел бы получить вывод движка бритвы в строку, а затем записать его в файл. Например:Как получить выход из механизма шаблонов RAZOR как String, а затем записать его в файл?

test.cshtml

<html> 
    <head> 
    <title> 
     @websiteTitle 
    </title> 
    </head> 
    <body> 
    @websiteBody 
    </body> 
</html> 

Я хотел бы сделать звонок в моем коде контроллера так:

String output = processTemplate(...) 
//code to write 'output' to a file 

..where processTemplate() принимает имя файла шаблона и требуемые параметры шаблона и вывод строки.

I tried до search in Google, но не смог найти документы о том, как это сделать. Является ли это возможным? Если да, то как?

Примечание: Я смог сделать это с помощью FreeMarker в веб-приложениях Java - мы можем выводить на консоль, файл или StringWriter. Это было очень удобно. Я хотел бы иметь аналогичную функциональность.

ответ

1

Использование "RazorEngine"

для примера использования, посмотрите на http://www.hanselman.com/blog/NuGetPackagesOfTheWeek12AccessingGoogleSpreadsheetsWithGDataFromCAndHostingRazorTemplatesToGenerateHTMLFromAConsoleApp.aspx

+0

Спасибо! Ссылка является хорошей отправной точкой. После небольшой охоты и борьбы с исключениями «Unable To Complile Template» я, наконец, получил его работу. – 2013-02-18 05:52:42

+0

Как вы загрузили шаблон бритвы перед его разбором? Есть ли лучший способ, чем просто загрузка из файла с помощью объекта 'File'? – Trevor

+0

вы можете получить его из любого источника, который вы хотите, в зависимости от вашего приложения. –

Смежные вопросы

 Смежные вопросы