本文整理汇总了C#中N2.Web.Url.AppendQuery方法的典型用法代码示例。如果您正苦于以下问题:C# Url.AppendQuery方法的具体用法?C# Url.AppendQuery怎么用?C# Url.AppendQuery使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类N2.Web.Url
的用法示例。
在下文中一共展示了Url.AppendQuery方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GenerateCategoryLink
public string GenerateCategoryLink(long? categoryId, bool? forceListPage, out object matchingCategoryPage)
{
//~~ a cheap and nasty chaos monkey
//if (DateTime.Now.Minute % 2 == 1)
// throw new Exception("chaos happened " + categoryId);
//~~
string ret;
var cacheKey = string.Format("{0} {1} {2} {3} {4}",
WebSession.Current.SiteId, WebSession.Current.LanguageCode, "CategoryLink", categoryId, forceListPage);
if (!_urlCache.TryGet(cacheKey, out ret))
{
var catPages = CmsFinder.FindDescendentsOrFallbackOfCurrentPageLanguageRoot<CatalogPage>();
if (catPages.All(cps => cps.CategoryID.Length != 0))
{
// find a category page from the root level that has no category ID
var defaultCatPage = CmsFinder.FindAllNonSiteDescendentsOfRoot<CatalogPage>()
.LastOrDefault(cps => cps.CategoryID.Length == 0);
if (defaultCatPage != null)
catPages.Add(defaultCatPage);
}
CatalogPage cp;
if (forceListPage.HasValue && forceListPage.Value)
cp = catPages.LastOrDefault(catalogPage => catalogPage.CategoryID.Length == 0);
else
cp = catPages.FirstOrDefault(catalogPage => catalogPage.CategoryID.Equals(categoryId.ToString(), StringComparison.InvariantCultureIgnoreCase)) ??
catPages.LastOrDefault(catalogPage => catalogPage.CategoryID.Length == 0);
if (cp == null)
ret = null;
else
{
// If the category page came from the root, append it's name and parameters to the current page's url
var url = new Url(GetNormalizedPageUrl(cp));
if (string.IsNullOrEmpty(cp.CategoryID) && categoryId != null)
url = url.Append(categoryId.Value.ToString(CultureInfo.InvariantCulture));
if (forceListPage.HasValue && forceListPage.Value && string.IsNullOrEmpty(cp.CategoryID))
url = url.AppendQuery("list=true");
ret = url.ToString();
}
AddCache(cacheKey, ret, cp);
}
_itemCache.TryGet(cacheKey, out matchingCategoryPage);
return ret;
}
示例2: SelectedUrl
public string SelectedUrl(Url baseUrl, ContentItem selected = null)
{
return baseUrl.AppendQuery(SelectedQueryKey, (selected ?? SelectedItem).Path).ResolveTokens();
}
示例3: securityEnforcer_AuthorizationFailed
void securityEnforcer_AuthorizationFailed(object sender, CancellableItemEventArgs e)
{
var url = new Url("{ManagementUrl}/Login.aspx").ResolveTokens();
url.AppendQuery("returnUrl", _context.Url.LocalUrl);
_context.HttpContext.Response.Redirect(url);
}