在自定义模块小部件模板中有条件地显示字段

本文关键字:有条件 显示 字段 自定义 模块 小部 | 更新日期: 2023-09-27 18:27:53

我为学术参考文献创建了一个自定义模块引用。引文有一个标题和一个可选的文章URL链接到原始文章。

有没有一种方法可以让我编写小部件模板,这样,如果URL不是空白的,就可以将其呈现为链接?很抱歉我的PHP风格的伪代码(sitefinity/.net的新代码),我脑子里想的是:

if (notEmpty('articleURL')) {
    <a href="<%# Eval("articleURL")%>"><%# Eval("Title")%></a>
} else {
    <%# Eval("Title")%>}

理想情况下,我希望能够通过在线小部件编辑器而不是外部文件来完成这项工作。

在自定义模块小部件模板中有条件地显示字段

我知道我在你交叉发布的Sitefinity论坛上回答了这个问题,所以我在这里重复这个解决方案,以防其他人在这里寻找这个问题。


默认情况下,内置的小部件模板编辑器将剥离任何服务器端代码,因此不幸的是,这种方法不起作用。

然而,我相信有两种方法可以达到预期的结果。

您可以使用第三级运算符来隐藏值,例如:

<%# Eval("Foo") == null ? "" : Eval("Foo") %>

或者,您可以将小部件模板映射到外部文件。使用外部模板文件不会剥离代码,并且您可以完全控制如何呈现内容。

有关映射模板的更多信息,请参阅以下文章:Sitefinity 4 Widgets 的映射外部模板

希望这是有帮助的!