是否有一个可公开访问的事件来标记ModalDialog关闭
本文关键字:ModalDialog 关闭 事件 有一个 访问 是否 | 更新日期: 2023-09-27 18:11:55
我最近在Sitecore做了一个自定义的ribbon。其中的两个按钮发出一个命令,该命令使用SheerResponse.ShowModalDialog
激活Xaml应用程序。这些应用程序会影响ribbon上的另一个组件正在读取的数据库的状态。
我需要能够从Xaml应用程序中触发一个自定义事件或函数来创建另一个功能区组件,或者我需要能够使功能区上的组件意识到当ModalDialog
关闭时它需要重新呈现。我没有看到任何明显的事件可以做到这一点,我已经尽我所能通过DotPeek查看原始代码,我还没有看到任何看起来有希望的东西。
显然,答案一直都在那里,而我却错过了。
SheerResponse
有ShowModalDialog
的五个参数版本,它接受一个布尔值作为最终参数。这意味着我可以将它与ClientPage.Start
:
Context.ClientPage.Start(this, "Run", kv);
}
private void Run(ClientPipelineArgs args)
{
var id = args.Parameters["id"];
if(!args.IsPostBack)
{
string controlUrl = string.Format("{0}&id={1}", UIUtil.GetUri("control:AltDelete"), id);
SheerResponse.ShowModalDialog(controlUrl,"","","",true);
args.WaitForPostBack();
}
else
{
Logger.LogDebug("post back");
}
Logger.LogDebug("out of if");
}