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

时间:2012-03-13 20:05:04

标签: c# sitefinity sitefinity-4

我为学术参考创建了一个自定义模块引文。除其他外,引文还包含标题和可选 articleURL 以链接到原始文章。

有没有办法让我编写小部件模板,以便在URL不为空时将其呈现为链接?为我的PHP风格伪代码道歉(对于sitefinity / .net来说是新手),我脑子里想的是:

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

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

1 个答案:

答案 0 :(得分:0)

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


默认情况下,内置的小部件模板编辑器将删除任何服务器端代码,因此遗憾的是这种方法无效。

但是,我相信有两种方法可以达到预期的效果。

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

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

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

有关映射模板的更多信息,请查看以下帖子:Mapping External Templates for Sitefinity 4 Widgets

希望这有用!