Kentico - 使用日历过滤预订系统事件

时间:2011-01-28 17:41:57

标签: asp.net kentico

有很多问题要掌握Kentico CMS,但我终于到了某个地方。我正在使用普通的门户引擎并在本地安装上运行Kentico 5.5 RC2。

我目前有一个事件页面,它使用转发器显示当前系统上可用的所有事件。我想使用日历来过滤该转发器中的事件。我该怎么做呢?

1 个答案:

答案 0 :(得分:3)

有几种方法。

  • 自定义用户控件
  • 自定义网页部件
  • 查询字符串参数

最简单的是最后一个。或者前两个与最后一个的组合。通过首选方法(AJAX日历,jQuery日历,< asp:Calendar>或您喜欢的任何内容)添加日历控件,并将其填充到文本字段中。然后运行一些JavaScript来更改将重新加载页面的URL查询字符串。

转到Kentico转发器的Web部件属性。在Content filter->WHERE condition字段中,您可以编写标准SQL WHERE子句并通过特殊宏注入查询字符串参数:{?QUERYSTRINGPARAMETERNAME?}。例如,http://url/page?myfilter=2将是{?myfilter?}。这会使WHERE子句类似于:{?myfilter?} = '' OR {?myfilter?} = SqlFieldToCompare

Kentico声称他们为了安全而逃离了这个宏,尽管我没有亲自证实这一点。虽然适用于我们。

如果您使用客户用户控件或Web部件,则可以使用更安全的回发方法和Control宏(而不是上面的QueryString宏)。

有关宏的详细信息,请参阅Developer's Guide Appendix A Macros