c# – 如何获得Sitecore的主页?

前端之家收集整理的这篇文章主要介绍了c# – 如何获得Sitecore的主页?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在没有项目路径的情况下获取 http://www.mysite.com/en网站主页网址的主要部分?最终,我想将Model.Url附加到

这个:

  1. Sitecore.Links.UrlOptions urlOptions = new Sitecore.Links.UrlOptions();
  2. urlOptions.AlwaysIncludeServerUrl = true;
  3. url = Sitecore.Links.LinkManager.GetItemUrl(Sitecore.Context.Item,urlOptions);

给我“http://www.mysite.com/en/undergraduate/business/new-information-landing-pages/Akron-stories

  1. Model.Url

给我“/本科/商业/新信息 – 登陆页面/阿克伦故事”

  1. var context = new SitecoreContext();
  2. url = context.GetHomeItem<Base_Page>().URL;

给我 ”/”

解决方法

您可以在linkprovider上的web.config中设置参数
  1. <add name="sitecore" type="Sitecore.Links.LinkProvider,Sitecore.Kernel" addAspxExtension="false" alwaysIncludeServerUrl="false" encodeNames="true" languageEmbedding="Always" languageLocation="filePath" lowercaseUrls="false" shortenUrls="true" useDisplayName="false" />

或者在UrlOption上设置它

  1. Sitecore.Links.UrlOptions urlOptions = UrlOptions.DefaultOptions;
  2. urlOptions.LanguageEmbedding = LanguageEmbedding.Always;
  3.  
  4. // Fetch the start item from Site definition
  5. var startItem = Sitecore.Context.Database.GetItem(Sitecore.Context.Site.ContentStartPath);
  6.  
  7. var url = Sitecore.Links.LinkManager.GetItemUrl(startItem,urlOptions);

还始终使用UrlOptions.DefaultOptions从linkmanager选项复制当前设置

猜你在找的C#相关文章