Требуется ли NHAML ASP.NET MVC? - PullRequest
0 голосов
/ 24 ноября 2010

Не удалось найти это непосредственно на странице проекта NHAML, поэтому мне было интересно, нужно ли вам запускать ASP.NET MVC для использования NHaml или я могу использовать это на «нормальной» веб-странице ASP.NET?

Кроме того, я прочитал, что вам нужно будет перехватывать запросы для Sass и вручную вызывать сборщик для этого?

Ответы [ 2 ]

1 голос
/ 22 декабря 2010

Вопрос несколько дублируется с ответом здесь: Может ли NHaml использоваться в качестве механизма шаблонов общего назначения? (вне MVC)

Цитата:

Да, его можно использовать без ASP.Net MVC. Я использую это для моего собственного веб-сервера (но это не значит, что у вас есть использовать его с веб-серверами).

Проверьте, как я использую это здесь: http://webserver.codeplex.com/SourceControl/changeset/view/50874#671672

То, что вы делаете вкратце, это что-то вроде это:

TemplateEngine _templateEngine = new TemplateEngine();

// Add a type used in the template. Needed to that nhaml can

найди его при компиляции шаблона _templateEngine.Options.AddReferences (TypeOf (TypeInYourAssembly));

// base class for all templates
_templateEngine.Options.TemplateBaseType

= typeof (BaseClassForTemplates);

//class providing content to the engine, should implement

ITemplateContentProvider _templateEngine.Options.TemplateContentProvider = это;

// compile the template, 
CompiledTemplate template = _templateEngine.Compile(new List<string> {layoutName, viewPath},
                                                                typeof (TemplateImplementation));

//create a instance
var instance = (NHamlView)template.CreateInstance();

// provide the view data used by the template
instance.ViewData = viewData;

// render it into a text writer
instance.Render(writer);
0 голосов
/ 24 ноября 2010

Нет, для него не требуется ASP.NET MVC, хотя для этого есть реализация. Вы можете обрабатывать шаблоны NHaml даже в консольном приложении, если хотите.

...