2009-05-27 2 views
2

Мне нужно создать кучу статических html-файлов как консольное/winform-задание. В текущем решении используется построитель строк. Используя ASP.NET-MVC с сильно типизированными страницами просмотра (System.Web.Mvc.ViewPage), мне было интересно, можно ли использовать эти страницы просмотра и выводить их в поток или файл без создания решения 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-файлы. Я надеялся использовать встроенный ASP.NET ViewPage (в частности, Mvc сильно типизированные) в качестве моего шаблона для создания этих html-файлов. – anonymous

+0

Мне нравится ваше решение, хотя ... это полезно знать для других вещей :) +1! – anonymous

3

Мне лично нравится опция StringTemplate, упомянутая выше, но вы можете фактически запустить среду выполнения ASP.NET в настольном приложении.

Рик Стрэхл над на West Wind Technologies есть подробный пример того, как установить его: Using the ASP.Net Runtime for extending desktop applications with dynamic HTML Scripts

Вот несколько других примеров:

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