【问题标题】:Querying on Umbraco Checkboxlist items using Razor使用 Razor 查询 Umbraco Checkboxlist 项目
【发布时间】:2015-05-14 19:28:57
【问题描述】:

我的页面上有以下内容:

var filteredArticles = newsNode.Descendants().Where("newsType.Split(',').Contains('Employer')");

newsType 是我的新闻项目上的一个属性,它是一个 Umbraco 复选框列表数据类型,umbraco 呈现为逗号分隔列表,例如:

<newsType>Agent,Employer,Provider,Home Page</newsType>

我只想取回所有“雇主”文章。但我收到以下错误:

Umbraco.Core.Dynamics.ParseException:没有适用的方法“拆分” 存在于“字符串”类型中

是否有其他方法可以使用 razor 从复选框列表中查询逗号分隔列表?

这适用于 Umbraco 版本 7.2.4。

【问题讨论】:

    标签: razor umbraco querying


    【解决方案1】:

    对我有用的是(Umbraco 7):

    GetPropertyValue&lt;IEnumerable&lt;string&gt;&gt;("xxxx").Contains("yyyy")

    【讨论】:

      【解决方案2】:

      首先,哪个版本的 Umbraco - 4、6 或 7?

      其次,您有一个要查询的文章列表。

      newsNode.Descendants() 
      

      假设您希望过滤的新闻文章中有一个属性 - 换句话说,您的新闻文章中的什么内容会包含文本“Employer”以便您可以过滤?

      如果您上传代码以便我们查看可能会更容易。

      【讨论】:

      • 我编辑了我的帖子以澄清我的问题。
      【解决方案3】:

      我认为这就是你想要做的:

      var articles = newsNode.Descendants();
      var filteredArticles = articles.Where(article => article.GetPropertyValue<string>("newsType").Split(',').Contains("Employer"));
      

      未经测试,但应该可以工作。

      祝你好运

      【讨论】:

      • 如果上述解决方案对您有用,您介意将答案标记为正确吗:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多