本文整理汇总了C#中Query.ParseQuery方法的典型用法代码示例。如果您正苦于以下问题:C# Query.ParseQuery方法的具体用法?C# Query.ParseQuery怎么用?C# Query.ParseQuery使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Query
的用法示例。
在下文中一共展示了Query.ParseQuery方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Index
public ActionResult Index(IComponentPresentation componentPresentation)
{
string title = componentPresentation.Component.Schema.Title;
IComponent component = componentPresentation.Component;
FeaturedItems featuredItems = new FeaturedItems();
if (title == "Generic.ComponentGroup")
{
featuredItems.Title = component.Fields.ContainsKey("title") ? component.Fields["title"].Value : string.Empty;
IList<IComponent> linkedComponentValues = component.Fields["items"].LinkedComponentValues;
featuredItems.Components = new List<Component>();
if (linkedComponentValues.Count > 0)
{
string secondid = "fh_secondid={0}-16_tcm_{1}-{2}-32";
string str2 = string.Join("&", (from c in linkedComponentValues select string.Format(secondid, c.Id.Replace(":", "_"), WebConfiguration.Current.PublicationId, SchemaTemplate.Instance.Template[c.Schema.Title])).ToArray<string>());
DD4TComponents components = new DD4TComponents(this.Logger);
this.Logger.InfoFormat("Featured static items query: {0}", new object[] { str2 });
featuredItems.Components = components.GetComponents(str2, true);
}
}
else if (title == "Crafts.ContentByFacet")
{
Query query = new Query();
component.Fields.ToList<KeyValuePair<string, IField>>().ForEach(delegate (KeyValuePair<string, IField> f) {
if (f.Key == "title")
{
featuredItems.Title = f.Value.Value;
}
else if ((f.Key == "facets") && (f.Value.LinkedComponentValues.Count > 0))
{
int publicationId = this._settings.PublicationId;
IFieldSet fieldSet = (from lcv in f.Value.LinkedComponentValues[0].Fields
where lcv.Key != "promote"
select lcv).ToFieldSet();
query.ParseQuery(fieldSet, publicationId, 6);
DD4TComponents components = new DD4TComponents(this.Logger);
this.Logger.InfoFormat("Featured items query: {0}", new object[] { query.toString() });
featuredItems.Components = components.GetComponents(query.toString(), true);
}
});
}
else
{
return base.View();
}
string featureComponentId = string.Empty;
try
{
featureComponentId = componentPresentation.Page.ComponentPresentations[0].Component.Id;
}
catch
{
featureComponentId = string.Empty;
}
featuredItems.Components = (from c in featuredItems.Components
where c.Id != featureComponentId
select c).ToList<Component>();
return base.View(featuredItems);
}
示例2: Index
public ActionResult Index(IComponentPresentation componentPresentation)
{
string str2;
Stopwatch stopwatch = new Stopwatch();
if (this.Logger.IsDebugEnabled)
{
stopwatch.Start();
}
((dynamic) base.ViewBag).PodGenericSpan = "span4";
string str = base.Request.QueryString["fh_params"];
Query query = null;
HomePageBannerContent model = new HomePageBannerContent {
Banner = componentPresentation
};
if (!string.IsNullOrEmpty(str))
{
query = new Query();
query.ParseQuery(str);
}
else
{
Location location = new Location(this.DefaultLocation);
Criterion criterion = HomePageTabsConfig.ToCriteria(this._settings.PublicationId);
location.addCriterion(criterion);
query = new Query(location);
}
query.setView(com.fredhopper.lang.query.ViewType.LISTER);
int viewsize = Convert.ToInt32(WebConfiguration.Current.HomepageItemsPerPage);
viewsize = FacetedContentHelper.AssertCappedViewSize(viewsize);
query.setListViewSize(viewsize);
query.setSortingBy(WebConfiguration.Current.HomepageSort);
DD4TComponents components = new DD4TComponents(this.Logger);
if (this.Logger.IsDebugEnabled)
{
stopwatch.Stop();
str2 = stopwatch.Elapsed.ToString();
this.Logger.DebugFormat("HomeController Index time elapsed 1:" + str2, new object[0]);
}
model.FredHopperComponents = components.GetComponents(query.toString(), true);
model.Tabs = HomePageTabsConfig.ToSelectList(query.toString());
IList<IComponentPresentation> ctaList = (from m in componentPresentation.Page.ComponentPresentations
where m.ComponentTemplate.Id != componentPresentation.ComponentTemplate.Id
select m).ToList<IComponentPresentation>();
model.FredHopperComponents = FacetedContentHelper.InjectCTAComponents(model.FredHopperComponents, ctaList, false, false);
if (this.Logger.IsDebugEnabled)
{
stopwatch.Stop();
str2 = stopwatch.Elapsed.ToString();
this.Logger.DebugFormat("HomeController Index time elapsed 2:" + str2, new object[0]);
}
return base.View(model);
}
示例3: CloseLink
public static MvcHtmlString CloseLink(this HtmlHelper helper)
{
TagBuilder builder = new TagBuilder("a");
string absolutePath = helper.ViewContext.HttpContext.Request.Url.AbsolutePath;
builder.MergeAttribute("class", "icon close");
builder.SetInnerText(helper.GetResource("RemoveFilter"));
string facet = helper.ViewContext.RouteData.Values.GetLevel1BrandFacet();
string facetValue = helper.ViewContext.RouteData.Values.GetLevel1BrandFacetValueDelimeted();
if (!string.IsNullOrEmpty(helper.ViewContext.HttpContext.Request["fh_params"]))
{
Query query = new Query();
query.ParseQuery(helper.ViewContext.HttpContext.Request["fh_params"]);
Location location = new Location(FredHopperExtensions.RemoveFacetValues(query.getLocation().toString(), facet, facetValue));
query.setLocation(location);
absolutePath = absolutePath + query.ToFhParams();
}
else
{
absolutePath = absolutePath + "?clear=true";
}
UrlHelper helper2 = new UrlHelper(helper.ViewContext.RequestContext);
builder.MergeAttribute("href", helper2.Content(absolutePath.AddApplicationRoot()));
return MvcHtmlString.Create(builder.ToString());
}
示例4: getFacetItem
public static FacetItem getFacetItem(filtersection fs, string fh_location, filter f)
{
FacetItem item = new FacetItem {
FHId = fs.value.Value,
NumItems = fs.nr,
Selected = fs.selected
};
link link = fs.link;
item.Text = link.name;
Query query = new Query();
query.ParseQuery(link.urlparams);
query.removeListStartIndex();
string urlParams = string.Empty;
if (fs.selected)
{
string str2 = query.getLocation().getLastCriterion().toString();
string facetValue = str2.Substring(str2.IndexOf('{') + 1).Replace("}", "");
urlParams = RemoveFacetValues(fh_location, query.getLocation().getLastCriterion().getAttributeName(), facetValue);
}
else
{
Location location = new Location(fh_location);
location.addCriterion(query.getLocation().getLastCriterion());
urlParams = location.toString();
if ((f.customfields != null) && (f.customfields.SingleOrDefault<customfield>(c => (c.name == "RefineMethod")).Value == "CombineFacets"))
{
urlParams = CreateOrCondition(urlParams);
}
}
Location location2 = new Location(urlParams);
query.setLocation(location2);
item.Value = query.ToFhParams();
return item;
}