0

如何按顺序显示两个 Sheer UI 对话框?我想要做的是显示一个Input对话框,然后ConfirmInput对话框成功完成后显示一个对话框。

目前,在Command.Run()我刚刚拥有的方法中:

        if (!args.IsPostBack) {
               SheerResponse.Input(
                    "Enter the new event date (ISO format YYYY-MM-DD):",
                    "",
                    @"\d{4}\-\d{2}\-\d{2}",
                    "'$Input' is not a valid date.",
                    100
                );

                args.WaitForPostBack();
        } else {
            ...do stuff...
        }
4

2 回答 2

2

在示例代码中,我们显示第一个对话框而不是确认对话框。希望这有帮助

    public void Run(ClientPipelineArgs args)
    {
        try
        {
            if (!args.IsPostBack)
            {
                Context.ClientPage.ClientResponse.ShowModalDialog(url.ToString(), true);
                args.WaitForPostBack();
            }
            else if (args.HasResult)
            {
                // Small job confirmation. User decide 'no'
                if (args.Result == "no")
                {
                    return;
                }

                if(args.Result == "result")
                {
                  SheerResponse.Confirm("message");
                  args.WaitForPostBack();
                }
            }
        }
        catch (EndpointNotFoundException ex)
        {
    //something 
        }
    }
于 2013-02-04T15:14:05.843 回答
0

看来我需要获取Command要调用的命令的实例,然后调用Execute()它,例如:

    private void CreateEvent(ClientPipelineArgs args)
    {
        var org_lang = Language.Current;
        Language lang = Language.Parse("en-gb");
        Language.Current = lang;
        Database db = Configuration.Factory.GetDatabase(args.Parameters["database"]);
        Item parent = db.GetItem(args.Parameters["id"], lang);

        try {
            // Create command context
            CommandContext command_context = new CommandContext(parent);

            // Get command
            Command command = CommandManager.GetCommand("fairsite:createcampaign");

            // Execute command
            command.Execute(command_context);
        } finally {
            Language.Current = org_lang;
        }
    }
于 2013-02-04T14:57:42.340 回答