0

我最近在 Sitecore 中制作了一个自定义功能区。其中的两个按钮触发一个命令,该命令使用SheerResponse.ShowModalDialog. 这些应用程序会影响功能区上另一个组件正在读取的数据库的状态。

我需要能够从 Xaml 应用程序中触发自定义事件或函数来制作其他功能区组件,或者我需要能够使功能区上的组件知道它需要在ModalDialogs 关闭时重新呈现。我没有看到任何明显的事件可以做到这一点,并且在使用 DotPeek 查看原始代码时,我已经尽我所能,我还没有看到任何看起来很有希望的东西。

4

1 回答 1

0

显然,答案一直都在那里,我错过了。

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");
}
于 2013-05-15T18:23:08.540 回答