Documentation Center

InCriteria (ASP.NET)

Use InCriteria to include certain items in a query.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Tridion.ContentDelivery.DynamicContent.Query;
using Tridion.ContentDelivery.DynamicContent;

namespace TestTaxonomies
{
	public partial class _Default : System.Web.UI.Page
	{
		protected void Page_Load(object sender, EventArgs e)
		{

  //Create query 
  Query myQuery = new Query();

  Criteria myCriteria = null;

  String taxonomyURI = "tcm:4-1042-512";

  // Criteria for keywords
  Criteria keywordOneCriteria = new TaxonomyKeywordCriteria(taxonomyURI, "tcm:4-6252-1024", false);
  Criteria keywordTwoCriteria = new TaxonomyKeywordCriteria(taxonomyURI, "tcm:4-5243-1024", false);

  // Combine with InCriteria to find all items which have either of the keywords
  Criteria inCriteria = new InCriteria(new OrCriteria(keywordOneCriteria, keywordTwoCriteria));

  // ItemTypeCriteria for items of type 64, that is, Page.
  ItemTypeCriteria itemTypeCriteria = new ItemTypeCriteria(64);

  // Combine ItemTypeCriteria with InCriteria for find all Pages that have either of the Keywords
  myCriteria = new AndCriteria(inCriteria, itemTypeCriteria);

  myQuery.Criteria = myCriteria;

		SortParameter sortParameter = new SortParameter(SortParameter.ItemTitle, SortParameter.Ascending);

		myQuery.AddSorting(sortParameter);
		myQuery.SetResultFilter(new LimitFilter(20));
		string[] itemURIs = myQuery.ExecuteQuery();
		foreach (string itemURI in itemURIs)
		{
		 	Response.Write(itemURI + ", ");
		}
	}
}