#region 后台窗口 /// <summary> /// 显示警告信息 /// </summary> /// <param name="manager">窗口管理器</param> /// <param name="message">提示信息</param> public static void ShowAlert(RadWindowManager manager, string message) { ShowMessage(manager, MessageType.Alert, message, 360, 200); } /// <summary> /// 显示警告信息 /// </summary> /// <param name="manager">窗口管理器</param> /// <param name="message">提示信息</param> /// <param name="width">宽度</param> /// <param name="height">高度</param> public static void ShowAlert(RadWindowManager manager, string message, int width, int height) { ShowMessage(manager, MessageType.Alert, message, width, height); } /// <summary> /// 显示错误信息 /// </summary> /// <param name="manager">窗口管理器</param> /// <param name="message">提示信息</param> public static void ShowError(RadWindowManager manager, string message) { ShowMessage(manager, MessageType.Error, message, 360, 200); } /// <summary> /// 显示错误信息 /// </summary> /// <param name="manager">窗口管理器</param> /// <param name="message">提示信息</param> /// <param name="width">宽度</param> /// <param name="height">高度</param> public static void ShowError(RadWindowManager manager, string message, int width, int height) { ShowMessage(manager, MessageType.Error, message, width, height); } /// <summary> /// 显示提示信息 /// </summary> /// <param name="manager">窗口管理器</param> /// <param name="message">提示信息</param> public static void ShowInformation(RadWindowManager manager, string message) { ShowMessage(manager, MessageType.Information, message, 360, 200); } /// <summary> /// 显示提示信息 /// </summary> /// <param name="manager">窗口管理器</param> /// <param name="message">提示信息</param> /// <param name="width">宽度</param> /// <param name="height">高度</param> public static void ShowInformation(RadWindowManager manager, string message, int width, int height) { ShowMessage(manager, MessageType.Information, message, width, height); } /// <summary> /// 显示消息框 /// </summary> /// <param name="manager">窗口管理器</param> /// <param name="messageType">消息框类型</param> /// <param name="message">提示信息</param> /// <param name="width">宽度</param> /// <param name="height">高度</param> private static void ShowMessage(RadWindowManager manager, MessageType messageType, string message, int width, int height) { message = message.Replace("/r/n", "<br />"); message = message.Replace("/n", "<br />"); message = message.Replace("'", "/""); string title = string.Empty; switch (messageType) { case MessageType.Alert: title = "警告信息"; break; case MessageType.Error: title = "错误信息"; break; case MessageType.Information: title = "提示信息"; break; default: break; } string url = @"~/Common/ShowMessage.aspx"; url += "?Type=" + messageType + "&BillTitle=" + manager.Page.Server.UrlEncode(title) + "&Message=" + manager.Page.Server.UrlEncode(message); manager.Windows.Clear(); RadWindow window = new RadWindow(); window.Behaviors = WindowBehaviors.Move | WindowBehaviors.Close; window.KeepInScreenBounds = true; window.Modal = true; window.NavigateUrl = url; window.ReloadOnShow = true; window.ShowContentDuringLoad = false; window.VisibleStatusbar = false; if (width > 0 && height > 0) { window.Width = Unit.Pixel(width); window.Height = Unit.Pixel(height); } else { window.InitialBehaviors = WindowBehaviors.Maximize; } window.Visible = true; window.VisibleOnPageLoad = true; manager.Windows.Add(window); } /// <summary> /// 显示确认信息 /// </summary> /// <param name="manager">窗口管理器</param> /// <param name="message">提示信息</param> /// <param name="dialogCallBack">回调事件</param> public static void ShowConfirm(RadWindowManager manager, string message, string dialogCallBack) { ShowDialog(manager, DialogType.Confirm, message, 360, 200, dialogCallBack); } /// <summary> /// 显示确认信息 /// </summary> /// <param name="manager">窗口管理器</param> /// <param name="message">提示信息</param> /// <param name="width">宽度</param> /// <param name="height">高度</param> public static void ShowConfirm(RadWindowManager manager, string message, int width, int height, string dialogCallBack) { ShowDialog(manager, DialogType.Confirm, message, width, height, dialogCallBack); } /// <summary> /// 显示输入信息 /// </summary> /// <param name="manager">窗口管理器</param> /// <param name="message">提示信息</param> /// <param name="dialogCallBack">回调事件</param> public static void ShowPrompt(RadWindowManager manager, string message, string dialogCallBack) { ShowDialog(manager, DialogType.Prompt, message, 360, 200, dialogCallBack); } /// <summary> /// 显示输入信息 /// </summary> /// <param name="manager">窗口管理器</param> /// <param name="message">提示信息</param> /// <param name="width">宽度</param> /// <param name="height">高度</param> public static void ShowPrompt(RadWindowManager manager, string message, int width, int height, string dialogCallBack) { ShowDialog(manager, DialogType.Prompt, message, width, height, dialogCallBack); } /// <summary> /// 显示对话框 /// </summary> /// <param name="manager">窗口管理器</param> /// <param name="dialogType">对话框类型</param> /// <param name="message">提示信息</param> /// <param name="width">宽度</param> /// <param name="height">高度</param> /// <param name="dialogCallBack">回调事件</param> private static void ShowDialog(RadWindowManager manager, DialogType dialogType, string message, int width, int height, string dialogCallBack) { message = message.Replace("/r/n", "<br />"); message = message.Replace("/n", "<br />"); message = message.Replace("'", "/""); string title = string.Empty; switch (dialogType) { case DialogType.Confirm: title = "确认信息"; break; case DialogType.Prompt: title = "输入信息"; break; default: break; } string url = @"~/Common/ShowDialog.aspx"; url += "?Type=" + dialogType + "&BillTitle=" + manager.Page.Server.UrlEncode(title) + "&Message=" + manager.Page.Server.UrlEncode(message); manager.Windows.Clear(); RadWindow window = new RadWindow(); window.Behaviors = WindowBehaviors.Move | WindowBehaviors.Close; window.KeepInScreenBounds = true; window.Modal = true; window.NavigateUrl = url; window.ReloadOnShow = true; window.ShowContentDuringLoad = false; window.VisibleStatusbar = false; if (width > 0 && height > 0) { window.Width = Unit.Pixel(width); window.Height = Unit.Pixel(height); } else { window.InitialBehaviors = WindowBehaviors.Maximize; } window.Visible = true; window.VisibleOnPageLoad = true; window.OnClientClose = dialogCallBack; manager.Windows.Add(window); } /// <summary> /// 打开弹出窗口 /// </summary> /// <param name="manager">窗口管理器</param> /// <param name="url">URL地址</param> /// <param name="title">窗口标题</param> public static void ShowPopup(RadWindowManager manager, string url, string title) { ShowPopup(manager, url, title, "RadWindow1_ClientClose"); } /// <summary> /// 打开弹出窗口 /// </summary> /// <param name="manager">窗口管理器</param> /// <param name="url">URL地址</param> /// <param name="title">窗口标题</param> public static void ShowPopup(RadWindowManager manager, string url, string title, int width, int height) { ShowPopup(manager, url, title, width, height, "RadWindow1_ClientClose"); } /// <summary> /// 打开弹出窗口 /// </summary> /// <param name="manager">窗口管理器</param> /// <param name="url">URL地址</param> /// <param name="title">窗口标题</param> /// <param name="dialogCallBack">回调事件</param> public static void ShowPopup(RadWindowManager manager, string url, string title, string dialogCallBack) { ShowPopup(manager, url, title, 480, 360, dialogCallBack); } /// <summary> /// 打开弹出窗口 /// </summary> /// <param name="manager">窗口管理器</param> /// <param name="url">URL地址</param> /// <param name="title">窗口标题</param> /// <param name="width">窗口宽度</param> /// <param name="height">窗口高度</param> public static void ShowPopup(RadWindowManager manager, string url, string title, int width, int height, string dialogCallBack) { if (url.IndexOf("?") > 0) { url += "&BillTitle=" + manager.Page.Server.UrlEncode(title); } else { url += "?BillTitle=" + manager.Page.Server.UrlEncode(title); } manager.Windows.Clear(); RadWindow window = new RadWindow(); window.Behaviors = WindowBehaviors.Default; window.KeepInScreenBounds = true; window.Modal = true; window.NavigateUrl = url; window.ReloadOnShow = true; window.ShowContentDuringLoad = false; window.VisibleStatusbar = false; if (width > 0 && height > 0) { window.Width = Unit.Pixel(width); window.Height = Unit.Pixel(height); } else { window.InitialBehaviors = WindowBehaviors.Maximize; } window.Visible = true; window.VisibleOnPageLoad = true; window.OnClientClose = dialogCallBack; manager.Windows.Add(window); } /// <summary> /// 隐藏窗口 /// </summary> /// <param name="manager">窗口管理器</param> public static void HideWindow(RadWindowManager manager) { manager.Windows.Clear(); } /// <summary> /// 关闭窗口 /// </summary> /// <param name="page">页面</param> public static void CloseWindow(Page page) { string script = @"window.opener = null; window.open('','_self'); window.close();"; ExecuteScript(page, "CloseWindow", script); } /// <summary> /// 关闭窗口并返回值 /// </summary> /// <param name="page">页面</param> /// <param name="value">值</param> public static void CloseWindowAndReturnValue(Page page, object value) { string script = @"DialogWindow.CloseRadWindow(" + value.ToString().ToLower() + ");"; ExecuteScript(page, "CloseWindowAndReturnValue", script); } /// <summary> /// 修改主页高度 /// </summary> /// <param name="control">服务器控件</param> /// <param name="border">是否绘制边框</param> /// <param name="clientHeight">客户端浏览器高度</param> /// <param name="top">顶部距离</param> public static void ResizeFrameHeight(WebControl control, bool border, int clientHeight, int top) { if (border) { control.BorderStyle = BorderStyle.Solid; control.BorderWidth = Unit.Pixel(1); control.BorderColor = Color.DarkGray; } string script = string.Empty; control.Height = Unit.Pixel(clientHeight - top); } /// <summary> /// 修改控件高度 /// </summary> /// <param name="page">服务器页面</param> /// <param name="control">服务器控件</param> /// <param name="border">是否绘制边框</param> /// <param name="clientHeight">客户端浏览器高度</param> /// <param name="top">顶部距离</param> public static void ResizeControlHeight(Page page, WebControl control, bool border, int top) { if (border) { control.BorderStyle = BorderStyle.Solid; control.BorderWidth = Unit.Pixel(1); control.BorderColor = Color.DarkGray; } string script = string.Empty; script = "var NewHeight = screen.availHeight - 112; " + "var item = document.getElementById('" + control.ClientID + "'); " + "item.style.height = NewHeight - " + top.ToString() + " + 'px'; "; CommonMethod.ExecuteScript(page, "ResizeControlHeight" + control, script); } #endregion