车把C#如果等于比较
我正在尝试在handlebar.NET上进行if equals比较<代码>{{#if xxx}}正在处理布尔值。如何在handlebar.NET中进行车把C#如果等于比较,c#,.net,handlebarshelper,handlebars.net,C#,.net,Handlebarshelper,Handlebars.net,我正在尝试在handlebar.NET上进行if equals比较{{#if xxx}}正在处理布尔值。如何在handlebar.NET中进行{{{#if x='foo'}}比较 此处只能使用数据中的布尔值,不能使用表达式: {{#if foo}} {{helloMessage}} {{/if}} foo会是个笨蛋: var data = new { helloMessage = "Hello world!", foo = true }; 如果要处理类似表达式的行为
{{{#if x='foo'}}
比较 此处只能使用数据中的布尔值,不能使用表达式:
{{#if foo}}
{{helloMessage}}
{{/if}}
foo会是个笨蛋:
var data = new
{
helloMessage = "Hello world!",
foo = true
};
如果要处理类似表达式的行为,还可以注册如下的块处理程序:
Handlebars.RegisterHelper("ifEq", (output, options, context, arguments) =>
{
if (arguments[0] == arguments[1])
{
options.Template(output, context);
}
else
{
options.Inverse(output, context);
}
});
并在模板中使用:
{{#ifEq foo ""bar""}}
{{body}}
{{/ifEq}}
但这与我对模板的理解有些矛盾。对于
#如果你可以使用操作符==和!=代码>仅用于测试布尔值为真或假true
表示符号已定义,false
表示未定义。我知道它必须是bool。当我需要等于、小于或大于这样的表达式时,我必须做什么?你不能在模板中处理这个问题。您需要在数据中处理该问题:var x=“bar”;var data=new{hellomemessage=“Hello world!”,foo=x==“bar”}代码>