У меня есть следующий вызов RazorEngine:
public class RazorEngineRender
{
public static string RenderPartialViewToString(string templatePath, string viewName, object model)
{
string text = System.IO.File.ReadAllText(Path.Combine(templatePath, viewName));
string renderedText = Razor.Parse(text, model);
return renderedText;
}
}
Это вызывается из:
_emailService.Render(TemplatePath, "Email.cshtml", new { ActivationLink = activationLink });
У меня также есть этот файл представления (email.cshtml):
<div>
<div>
Link: <a href="@Model.ActivationLink" style="color:#666" target="_blank">@Model.ActivationLink</a>
</div>
</div>
Когда происходит вызов Razor.Parse (), я всегда получаю: Невозможно скомпилировать шаблон.Подробности смотрите в списке ошибок.
Список ошибок:
error CS1061: 'object' does not contain a definition for 'ActivationLink' and no extension method 'ActivationLink' accepting a first argument of type 'object' could be found
Я пробовал все под солнцем, включая попытку конкретного типа, а не анонимного типа, объявив @Модельная строка вверху файла просмотра, но не повезло.Я задаюсь вопросом, виновата ли библиотека или определенно я?
Кстати, разоренгин, на который я ссылаюсь, доступен здесь в codeplex: RazorEngine