IRazorEngineService и включая ссылки - PullRequest
       10

IRazorEngineService и включая ссылки

0 голосов
/ 08 сентября 2018

Я использую Razor.Engine для генерации электронных писем в формате HTML на основе шаблонов. Я хотел использовать HttpUtility, чтобы протестировать проблему с кодировками символов, и обнаружил, что Razor пожаловался на то, что не нашел ссылки на библиотеку, получив «Имя HttpUtility не существует в текущем контексте».

Код, который я использую, довольно прост:

string content = fileSystem.File.ReadAllText(pathToTemplate);              
service.AddTemplate(templateKey, content);            
service.Compile(templateKey, typeof(TModel));
var result = service.Run(templateKey, typeof(TModel), model);

System.Web доступен для проекта, выполняющего этот код, но кажется, что Razor ищет в другом месте? Это что-то простое, чего я не вижу?

В шаблоне я так называю:

<p>Hi @(System.Web.HttpUtility.HtmlEncode(@Model.UserFirstName)) @(System.Web.HttpUtility.HtmlEncode(@Model.UserLastName)),</p>

Я уверен, что вы, возможно, думаете, что это приведет к двойному кодированию, но у нас была проблема, когда Razor выдавал специальный символ без кодировки, поэтому я хотел проверить, что это будет делать и не может ' заставить его работать.

...