首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当我显示任何错误消息时,签出事件处理程序将以读模式打开该项。

当我显示任何错误消息时,签出事件处理程序将以读模式打开该项。
EN

Stack Overflow用户
提问于 2012-09-13 09:23:07
回答 1查看 151关注 0票数 0

当页面或组件签出时,我试图在Tridion消息栏中显示警告消息。

我已经订阅并尝试使用(处理和启动)阶段,并尝试订阅和SubscribeAynsc。

下标线如下:

代码语言:javascript
代码运行次数:0
运行
复制
EventSystem.Subscribe<VersionedItem, CheckOutEventArgs>(displaymessage, EventPhases.Processed);

职能如下:

代码语言:javascript
代码运行次数:0
运行
复制
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");
               }

        }
    }

如果结帐用户和收银员不同,我想显示警告消息。我将获取结帐用户和收银员的详细信息,并将比较。

问题:

  1. 当我选择任何项目并单击“签出”时,abaove代码会在Tridion消息栏中显示消息。同时,项目不是处于编辑模式,而是处于只读模式。
  2. 当我选择任何一项,并clik“打开”或双击该项目时,签出事件将被触发,但消息不会显示在消息栏中。但项目仍然是只读模式。
  3. 如果我在代码中使用了try{} catch {},那么当到达“抛出新异常”行时,代码将自动被捕获块。即使在“1(问题:1)”的情况下,也没有显示出信息。

有人能对此提出一些见解吗?那太好了!!

EN

回答 1

Stack Overflow用户

发布于 2012-09-13 10:59:09

当您在提交事务之前处理异常时,它将被回滚。如果这是可行的,您需要在TransactionCommitted阶段执行您的逻辑。

但更重要的是,我建议不要滥用异常消息来提供状态消息。你想达到什么目的?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12403169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档