UmbracoCMS在发布文章内容后,自动设置umbracoUrlName为当前Id(umbracoUrlName是Umbraco内置的属性,用于自定义URL地址)
新建MyEventHandler.cs文件,放在网站根目录的App_Code下即可
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Umbraco.Core;
public class MyEventHandler : ApplicationEventHandler
{
protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
Umbraco.Core.Services.ContentService.Published += ContentService_Published;
}
void ContentService_Published(Umbraco.Core.Publishing.IPublishingStrategy sender, Umbraco.Core.Events.PublishEventArgs e)
{
var model = e.PublishedEntities.First();
if (model.ContentType.Name.ToLower().Equals("article"))
{
Umbraco.Core.Services.ContentService.Published -= ContentService_Published;
model.SetValue("umbracoUrlName", model.Id);
ApplicationContext.Current.Services.ContentService.Publish(model);
Umbraco.Core.Services.ContentService.Published += ContentService_Published;
}
}
}