DotLiquid - 检查字符串是否为 "null 或空"

10
我正在我的ASP.NET 4.0 Webforms应用程序中使用DotLiquid来创建一些电子邮件模板,并且我正在尝试在绑定到模板的数据对象中,如果特定字符串为null或为空,则排除某个电子邮件模板的某个部分。
检查NULL很好用:
{% if MyString != null %}

Some fancy label: {{ MyString }}
{% endif %}";

然而,我尝试在这个测试中包含空字符串,但目前为止所有的尝试都失败了。
{% if MyString != null or MyString == empty %}

{% if MyString != null or MyString == '' %}

我该如何检查“此字符串是否为空或空字符串”?

你应该使用双引号(MyString == ""),其他错误可能在你的逻辑中。你说:“如果MyString不为空或MyString是''(空),则显示此区域”。我认为你的意思是:{% if MyString != null and MyString != "" %} - Der Kommissar
@mark_s 你按照我的建议修改了你的语句吗?({% if MyString != null and MyString != "" %}) - Der Kommissar
@EBrown:抱歉,我错过了那个问题,而且是的,现在它可以工作了!请发布为答案,这样我就可以接受它! - marc_s
没问题,伙计,很高兴能帮忙。 - Der Kommissar
3个回答

21

在评论中讨论后,发现这是一个简单的逻辑错误。

{% if MyString != null and MyString != "" %}


谢谢你的额外帮助,让这个 bug 变得浅显易懂 :-) - marc_s

2

我会假设它看起来像{% if String.IsNullOrEmpty(MyString) %}。但我从未实际使用过这个库,所以我不能确定。 - Bradley Uffner
谢谢,Bradley - 是的,确实,这种语法可以正常工作 - 很高兴知道!DotLiquid文档有时有点简单,当然更通用的Liquid文档并没有提及.NET特定的细节......很高兴知道这些函数在DotLiquid中可用并且按预期工作! - marc_s
1
@BradleyUffner 你确定这个能行吗?因为对我来说不起作用,但是被采纳的答案却可以。 - Uğur Dinç

0

对我不起作用 :-( 相同的结果 - 即使我的数据字符串是 string.Empty,我想要排除的部分仍然出现在结果中。 - marc_s

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接