加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何更改Sitecore登录页面上的消息?

发布时间:2020-12-15 21:56:14 所属栏目:百科 来源:网络整理
导读:我需要在Sitecore登录页面(www.example.com/sitecore/login)上更改默认消息.看起来该消息来自Sitecore.Client.dll中的Sitecore.sitecore.login.Login_LoginError方法.但是,这种方法是私有的,这意味着我陷入困境: 我无法覆盖该方法,因为它是私有的. 我无法取
我需要在Sitecore登录页面(www.example.com/sitecore/login)上更改默认消息.看起来该消息来自Sitecore.Client.dll中的Sitecore.sitecore.login.Login_LoginError方法.但是,这种方法是私有的,这意味着我陷入困境:

>我无法覆盖该方法,因为它是私有的.
>我无法取消订阅LoginError事件中的处理程序,因为处理程序是私有的.
>我无法将自己的处理程序添加到事件中以更改文本,因为我无法保证调用处理程序的顺序.

我看到它的方式,我有两个选择,既不好:

>从头开始编写我自己的登录页面类,尽可能使用现有代码,但需要公开我需要的成员.
>使用反射来查找私有处理程序,以便我可以从事件中取消订阅.

我真的不想这样做.有没有更好的办法?

解决方法

在Sitecore中重写此类行为的需求很常见.反射器是你最好的朋友.在登录页面的代码隐藏中找到该类并查找它.在大多数情况下,您不必通过剪切和粘贴大量代码来实际尝试重新创建它.您可以创建一个继承登录类的相同类型的新类,然后只覆盖执行操作的一个方法.完成后,更改.aspx文件以引用您的新类,该类将构建到您自己的程序集中而不是Sitecore .dll中.

但是,有时候如果你只是想改变一些像错误信息那样的东西(这并不需要任何后端逻辑),你可能会更好地通过隐藏默认值的页面上的一次性javascript服务显示错误消息并显示您自己的自定义样式div和消息.做任何移动部件最少的东西.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读