You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Handlebars.Net.Helpers中使用String.Equals助手?

Handlebars.Net 实现字符串相等判断的模板写法

Handlebars.Net 默认没有内置 StringEquals 助手,需要先自定义注册该助手,再在模板中调用实现字符串相等判断。

1. 注册自定义 StringEquals 助手

在C#代码中注册助手,可按需指定字符串比较规则(区分大小写/不区分):

Handlebars.RegisterHelper("StringEquals", (writer, context, args) =>
{
    if (args.Length != 2)
    {
        writer.Write("StringEquals 助手需要传入两个参数");
        return;
    }

    var str1 = args[0]?.ToString();
    var str2 = args[1]?.ToString();
    // 这里用不区分大小写的比较,若需区分则改为 StringComparison.Ordinal
    var isEqual = string.Equals(str1, str2, StringComparison.OrdinalIgnoreCase);
    writer.Write(isEqual.ToString().ToLower());
});

2. 编写模板进行判断

假设你要检查数据中的 Status 字段是否等于 "Active",模板写法如下:

{{#if (StringEquals Status "Active")}}
    <p>当前状态为激活状态</p>
{{else}}
    <p>当前状态非激活状态</p>
{{/if}}

3. 使用示例

传入对应数据模型并编译模板:

var data = new { Status = "Active" };
var templateSource = "上面的模板字符串";
var compiledTemplate = Handlebars.Compile(templateSource);
var output = compiledTemplate(data);

内容的提问来源于stack exchange,提问作者Thanasis Ioannidis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 23:12:07