导入配方文件时,我正在检查重复的内容项。如果内容项具有相同的标题,则应显示一条消息并且不应导入配方文件。我已经捕获了该事件并获取了具有相同标题的现有内容项。现在我需要显示相关消息,并且不将内容项保存在配方文件中。我尝试使用 INotifier ( _notifier.Add(NotifyType.Error, T[item.Result.ErrorMessage]);) ,其中 T 是 IHtmlLocalizer 但配方文件仍然保存并且不显示错误消息。我也尝试过使用扩展方法;_notifier.Error(T[item.Result.ErrorMessage]); 但无济于事。关于如何完成的任何帮助?
public override async Task ImportedAsync(ImportContentContext context, UniqueTitlePart part)
{
var contentTypeDefinition = _contentDefinitionManager.GetTypeDefinition(context.ContentItem.ContentType);
if (contentTypeDefinition == null)
return;
foreach (var typePartDefinition in contentTypeDefinition.Parts)
{
var partName = typePartDefinition.PartDefinition.Name;
if (partName == "UniqueTitlePart" && part != null)
{
var item = part.ValidateAsync(S, _uniqueTitleIndexRepository).FirstAsync();
if (!string.IsNullOrWhiteSpace(item.Result.ErrorMessage))
{
_notifier.Error(T[item.Result.ErrorMessage]);
_notifier.Add(NotifyType.Error, T[item.Result.ErrorMessage]);
await base.ImportedAsync(context, part);
}
}
}