我正在使用https://github.com/sebastienros/fluid
目前我正在解析和渲染模板,效果很好:
public string Parse(SomeModel model, string template)
{
if (!FluidTemplate.TryParse(template, out var fluidTemplate))
{
return null;
}
var context = new TemplateContext();
context.SetValue("Model", model);
context.MemberAccessStrategy.Register<SomeModel>();
return fluidTemplate.Render(context);
}
我的问题是,即使某个属性在&#34; SomeModel&#34;上丢失,也会对其进行解析和渲染。类。例如:
&#34; SomeModel&#34; class只有&#34; FirstName&#34;属性:
public class SomeModel
{
public string FirstName { get; set; }
}
我渲染了这个:
var model = new SomeModel { FirstName = "John" };
var template = "Hi {{ Model.FirstName }} {{ Model.LastName}}";
var result = Parse(model, template)
这将解析并呈现没有问题,但将{{Model.LastName}}设置为空字符串,因此输出将为:
"Hi John"
如何检查模板是否已渲染但属性是否缺失?