private void DoProcessButtonAction(object sender, EventArgs e, Action action) { action.NullCheck("action"); ProcessProgress.Current.RegisterResponser(SubmitButtonProgressResponser.Instance); try { Button btn = (Button)sender; action(); WfActionAfterOperation operations = (WfActionAfterOperation)Enum.Parse(typeof(WfActionAfterOperation), btn.CommandArgument); if ((operations & WfActionAfterOperation.RefreshOpener) != WfActionAfterOperation.None) { this.Page.Response.Write("<script type=\"text/javascript\">if (parent.opener) parent.opener.location.reload();</script>"); } if ((operations & WfActionAfterOperation.RefreshCurrent) != WfActionAfterOperation.None) { this.Page.Response.Write("<script type=\"text/javascript\">parent.location.reload();</script>"); } if ((operations & WfActionAfterOperation.Close) != WfActionAfterOperation.None) { WebUtility.ResponseCloseWindowScriptBlock(); } string script = "<script type=\"text/javascript\">parent.location.reload();</script>"; this.Page.Response.Write(script); } catch (System.Exception ex) { WebUtility.ResponseShowClientErrorScriptBlock(ex); } finally { this.Page.Response.Write(SubmitButton.GetResetAllParentButtonsScript(true)); this.Page.Response.End(); } }
private HtmlAnchor AddAdvancedOpLinkWithSubmitButton(Control wrapper, string text, string url, string buttonID, string promptText, string progressText, WfActionAfterOperation afterOperation, EventHandler serverClickHandler) { SubmitButton button = new SubmitButton(); button.ID = buttonID; button.Style["display"] = "none"; button.PopupCaption = Translator.Translate(Define.DefaultCulture, progressText); button.ProgressMode = SubmitButtonProgressMode.BySteps; button.CommandArgument = afterOperation.ToString(); button.Click += serverClickHandler; wrapper.Controls.Add(button); promptText = Translator.Translate(Define.DefaultCulture, promptText); string script = string.Empty; string confirmedScript = string.Format("$get(\"{0}\").click()", button.ClientID); if (promptText.IsNotEmpty()) { script = string.Format("if (window.confirm(\"{0}\")) {1};return false", promptText, confirmedScript); } else { script = string.Format("{0}; return false;", confirmedScript); } return(AddAdvancedOpLink(wrapper, text, url, script)); }