В настоящее время я работаю над веб-проектом, для которого мне нужно отправить электронное письмо. Я начал использовать DotLiquid для механизма шаблонов, но я обнаружил некоторые проблемы с ним, самым большим из которых является то, что он, похоже, не способен обрабатывать перечисления.Обработка перечислений с помощью DotLiquid templating engine
Я попытался зарегистрировать тип как «безопасный», как этот Template.RegisterSafeType(typeof(Gender), new string[] { "Male", "Female" });
, но он не работает. В лучшем случае больше не возникает никаких исключений, но ожидаемый результат пуст.
<ul>
{% for f in Model.Friends %}
{% if f.Gender == Male %}
<li>
{{ f.FirstName }} {{ f.LastName }} {{ f.Gender }}
</li>
{% endif %}
{% endfor %}
</ul>
<ul>
{% for f in Model.Friends %}
{% if f.Gender == Gender.Male %}
<li>
{{ f.FirstName }} {{ f.LastName }} {{ f.Gender }}
</li>
{% endif %}
{% endfor %}
</ul>
<ul>
{% for f in Model.Friends %}
{% if f.Gender == 0 %}
<li>
{{ f.FirstName }} {{ f.LastName }} {{ f.Gender }}
</li>
{% endif %}
{% endfor %}
</ul>
Ничто из перечисленного не могло ничего вернуть. Я был бы доволен строкой или int-представлением перечисления, но на данный момент ничего нет. Кто-нибудь нашел решение этой проблемы?
Я хотел бы избежать «преобразовать» перечисление себя в объект «Drop», так как это может смутить позже.
спасибо.
Hi. Работает ли эта часть? '{% if f.Gender == Male%}' Я пробовал аналогичным образом, но значение перечисления 'Male' или 'Gender.Male', похоже, не распознается. – janonimus