csharp 用于在“最终站点结构”中设置首页的Umbraco URL提供程序(https://cultiv.nl/blog/tip-of-the-week-the-ultimate-site-str

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 用于在“最终站点结构”中设置首页的Umbraco URL提供程序(https://cultiv.nl/blog/tip-of-the-week-the-ultimate-site-str相关的知识,希望对你有一定的参考价值。

using System;
using System.Collections.Generic;
using System.Linq;
using Umbraco.Core;
using Umbraco.Web;
using Umbraco.Web.Routing;

namespace MyWebsite.Core.UrlProviders
{
    public class FrontpageUrlProviderApplicationEventHandler : ApplicationEventHandler
    {
        protected override void ApplicationStarting(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
        {
            UrlProviderResolver.Current.InsertTypeBefore<DefaultUrlProvider, FrontpageUrlProvider>();
        }
    }

    public class FrontpageUrlProvider : IUrlProvider
    {
        public string GetUrl(UmbracoContext umbracoContext, int id, Uri current, UrlProviderMode mode)
        {
            var content = umbracoContext.ContentCache.GetById(id);
            if (content != null && content.AncestorOrSelf(1).HasValue("umbracoInternalRedirectId") && content.AncestorOrSelf(1).GetProperty("umbracoInternalRedirectId").DataValue.ToString() == content.Id.ToString())
            {
                return content.AncestorOrSelf(1).Url;
            }

            return null;
        }

        public IEnumerable<string> GetOtherUrls(UmbracoContext umbracoContext, int id, Uri current)
        {
            return Enumerable.Empty<string>();
        }
    }
}

以上是关于csharp 用于在“最终站点结构”中设置首页的Umbraco URL提供程序(https://cultiv.nl/blog/tip-of-the-week-the-ultimate-site-str的主要内容,如果未能解决你的问题,请参考以下文章

csharp 在dotnet中设置环境变量

csharp 在Program.cs中设置appsettings

web项目中设置首页

如何在 Matlab 中设置 ode 函数 [关闭]

无法在 Firefox 中设置和取消设置 Cookie

在 java 和 csv 文件中设置 UTF-8 [重复]