Orchardcms 在投影查询中,内容项标记始终为空
我正在尝试创建一个投影查询,该查询具有基于当前内容项的属性的标题部分过滤器,例如显示文本(Orchardcms 在投影查询中,内容项标记始终为空,orchardcms,Orchardcms,我正在尝试创建一个投影查询,该查询具有基于当前内容项的属性的标题部分过滤器,例如显示文本({content.DisplayText}) 查询不起作用,当我调试解决方案并在StringFilterPerform类的GetFilterPredicate方法上设置断点时,令牌值总是作为空字符串出现。这好像还没有解决。我看到Content Items组中的所有标记都有相同的行为 其他令牌工作正常,例如QueryString({Request.QueryString:})令牌 为什么我的查询过滤器中的内
{content.DisplayText}
)
查询不起作用,当我调试解决方案并在StringFilterPerform类的GetFilterPredicate方法上设置断点时,令牌值总是作为空字符串出现。这好像还没有解决。我看到Content Items组中的所有标记都有相同的行为
其他令牌工作正常,例如QueryString({Request.QueryString:}
)令牌
为什么我的查询过滤器中的内容项标记总是空的?我使用的是Orchard v.1.7.1.0它不是这样工作的。在此上下文中,标记并不用于生成内容项属性上的查询约束。令牌只能用于提供查询参数的值。如果要筛选内容项的标题,请使用标题部分记录筛选器。2年后,但在Orchard 1.9.2中,您可以使用令牌基于当前内容项进行查询:
{Request.Content.*}
我缺少令牌的请求部分。不确定这在我最初提问时是否有效。我不确定我是否理解。我试图使用标题部分记录过滤器中的标记作为查询的参数。我添加了过滤器设置的屏幕截图。当对过滤器求值时,令牌总是一个空字符串。正如我所说的,这是行不通的。您需要将标记转换为动态SQLWHERE子句。这根本不是它的工作原理。查询字符串参数是一个完全不同的问题,因为它是来自环境的一个固定值,可以作为参数注入(与数据库列相反)。幸运的是,正如我在回答中所说,有一个非常好的标题过滤器,您可以使用它来实现所描述的确切场景。