У меня есть следующее требование. Я сохранил список элементов словаря. Я хочу, чтобы словарь был уникальным. Я написал следующий код, как если бы каждый новый элемент сохранялся с существующим именем ключа, он должен вызывать предупреждение, например «Item уже существует».Показать предупреждение при возникновении событий
То, что я делаю, похоже на сравнение значения ключа с существующими клавишами словаря при сохранении элемента. Я написал код в событии ItemSaving.
public class IsItemExist
{
Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");
public void OnItemSaving(object sender, EventArgs args)
{
Item dbItem = master.GetItem("/sitecore/content/Administration/Development Settings/Lookups");
Item selectedItem = Event.ExtractParameter(args, 0) as Item;
foreach (Item item in dbItem.Axes.GetDescendants())
{
if (item.Template.Name.Contains("entry"))
{
if (item.Fields["Key"].Value == selectedItem.Fields["Key"].Value)
{
Sitecore.Context.ClientPage.ClientResponse.Alert("Item is already exist");
}
}
}
}
}
запись web.config
<event name="item:saving">
<handler type="CustomEvent.IsItemExist, CustomEvent" method="OnItemSaving"/>
</event>
Это показывает предупреждающее сообщение, и я в состоянии сохранить элемент. 1. Я не хочу снова сохранять элемент с повторяющимся значением. 2. Я получаю 2 оповещения, когда нажимаем кнопку save.why?
любая помощь будет .. Ребят было оценено