当页面或组件被签出时,我试图在Tridion 消息栏中显示警告消息。
我已订阅并尝试使用(已处理和已启动)阶段,并尝试订阅和 SubscribeAynsc。
下面的订阅者行:
EventSystem.Subscribe<VersionedItem, CheckOutEventArgs>(displaymessage, EventPhases.Processed);
功能如下:
public override void displaymessage(VersionedItem item, TcmEventArgs args, EventPhases phase)
{
if (item.GetType().Name == "Component" || item.GetType().Name == "Page")
{
string chkuser = "aa" ;
sting revisor = "bb"
if(chkuser != revisor
{
throw new Exception("Warning-->some one is already modified this item and u are checking out now");
}
}
}
如果结帐用户和修订者不同,我想显示警告消息。我将很快获取结帐用户和修订者的详细信息并进行比较。
问题:
- 当我选择任何项目并单击“签出”时,上面的代码会在 Tridion 消息栏中显示消息。同时,该项目不处于编辑模式,它处于只读模式。
- 当我选择任何项目并单击“打开”或双击该项目时,会触发结帐事件,但消息不会显示在消息栏中。并且该项目仍然是只读模式。
- 如果我在代码中使用 try{}Catch{},当到达“抛出新异常”行时,代码会自动进入 catch 块。即使在“第一个(问题:1)”情况下也不会显示消息。
任何人都可以对此有所了解吗?那很好啊!!