6
我有以下要求。我已經存儲了一個字典項目列表。我想要字典密鑰是唯一的。我寫了下面的代碼,就像每當有任何新項目用現有密鑰名稱進行保存時,都應該拋出類似「項目已存在」的警報。事件發生時顯示警告消息
我在做什麼就像在保存項目時比較Key值與現有的字典鍵。我在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條警告信息。
任何幫助將是appreciated.Thanks傢伙..