/*=============================================================
* 一些常用的 Javascript
* Author : Danny,Li
* E-mail : [email protected]
* Edition: V-101014
*=============================================================*/
using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI;
using System.Web;
namespace IRCommon
{
public class Jscript
{
/// <summary>
/// 私有构造方法,不允许创建实例
/// </summary>
private Jscript()
{
// TODO: Add constructor logic here
}
/// <summary>
/// 弹出确认对话框
/// </summary>
/// <param name="message">确认信息</param>
public static void Alert(string message)
{
string js = @"<Script language='JavaScript'>
alert('" + message + "');</Script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 弹出确认对话框
/// </summary>
/// <param name="message">确认信息</param>
/// <param name="page">页面类</param>
public static void Alert(string message, Page page)
{
string js = @"<Script language='JavaScript'>
alert('" + message + "');</Script>";
if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "alert"))
{
page.ClientScript.RegisterStartupScript(page.GetType(), "alert", js);
}
}
/// <summary>
/// 弹出确认对话框并转向到新的URL
/// </summary>
/// <param name="message">确认信息</param>
/// <param name="toURL">跳转到第新的URL</param>
public static void AlertAndRedirect(string message, string toURL)
{
string js = "<script language=javascript>alert('{0}');window.location.replace('{1}')</script>";
HttpContext.Current.Response.Write(string.Format(js, message, toURL));
}
/// <summary>
/// 弹出确认对话框并转向新的URL
/// </summary>
/// <param name="message">确认信息</param>
/// <param name="toURL">跳转到的新的URL</param>
/// <param name="page">页面类</param>
public static void AlertAndRedirect(string message, string toURL, Page page)
{
string js = "<script language=javascript>alert('{0}');window.location.replace('{1}')</script>";
if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "AlertAndRedirect"))
{
page.ClientScript.RegisterStartupScript(page.GetType(), "AlertAndRedirect", string.Format(js, message, toURL));
}
}
/// <summary>
/// 弹出选择对话框,确认转向新的URL
/// </summary>
/// <param name="message">确认信息</param>
/// <param name="toURL">跳转到的新的URL</param>
/// <param name="page">页面类</param>
public static void ConfirmIsRedirect(string message, string toURL)
{
string js = @"<script language=javascript>if(confirm('" + message + "')){window.location.href='" + toURL + "';}</script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 弹出选择对话框,确认转向新的URL
/// </summary>
/// <param name="message">确认信息</param>
/// <param name="toURL">跳转到的新的URL</param>
/// <param name="page">页面类</param>
public static void ConfirmIsRedirect(string message, string toURL, Page page)
{
string js = @"<script language=javascript>if(confirm('" + message + "')){window.location.href='" + toURL + "';}</script>";
if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "ConfirmIsRedirect"))
{
page.ClientScript.RegisterStartupScript(page.GetType(), "ConfirmIsRedirect", js);
}
}
/// <summary>
/// 回到历史页面
/// </summary>
/// <param name="value">1/-1</param>
public static void GoHistory(int value)
{
string js = @"<Script language='JavaScript'>
history.go({0});
</Script>";
HttpContext.Current.Response.Write(string.Format(js, value));
}
/// <summary>
/// 回到历史页面
/// </summary>
/// <param name="value">1/-1</param>
/// <param name="page">页面类</param>
public static void GoHistory(int value, Page page)
{
string js = @"<Script language='JavaScript'>
history.go({0});
</Script>";
if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "GoHistory"))
{
page.ClientScript.RegisterStartupScript(page.GetType(), "GoHistory", string.Format(js, value));
}
}
/// <summary>
/// 关闭当前窗口
/// </summary>
public static void CloseWindow()
{
string js = @"<Script language='JavaScript'>
parent.opener=null;window.close();
</Script>";
HttpContext.Current.Response.Write(js);
HttpContext.Current.Response.End();
}
/// <summary>
/// 刷新父窗口
/// </summary>
/// <param name="url"></param>
public static void RefreshParent(string url)
{
string js = @"<Script language='JavaScript'>
window.opener.location.href='" + url + "';window.close();</Script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 刷新父窗口
/// </summary>
/// <param name="url"></param>
/// <param name="page"></param>
public static void RefreshParent(string url, Page page)
{
string js = @"<Script language='JavaScript'>
window.opener.location.href='" + url + "';window.close();</Script>";
if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "RefreshParent"))
{
page.ClientScript.RegisterStartupScript(page.GetType(), "RefreshParent", js);
}
}
/// <summary>
/// 刷新打开的窗口
/// </summary>
public static void RefreshOpener()
{
string js = @"<Script language='JavaScript'>
opener.location.reload();
</Script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 刷新打开的窗口
/// </summary>
/// <param name="page">页面类</param>
public static void RefreshOpener(Page page)
{
string js = @"<Script language='JavaScript'>
opener.location.reload();
</Script>";
if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "RefreshOpener"))
{
page.ClientScript.RegisterStartupScript(page.GetType(), "RefreshOpener", js);
}
}
/// <summary>
/// 打开指定大小的新窗体
/// </summary>
/// <param name="url">URL地址</param>
/// <param name="width">窗体宽</param>
/// <param name="height">窗体高</param>
/// <param name="top">头位置</param>
/// <param name="left">左位置</param>
public static void OpenWebFormSize(string url, int width, int height, int top, int left)
{
string js = @"<Script language='JavaScript'>window.open('" + url + @"','','height=" + height + ",width=" + width + ",top=" + top + ",left=" + left + ",location=no,menubar=no,resizable=yes,scrollbars=yes,status=yes,titlebar=no,toolbar=no,directories=no');</Script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 打开指定大小的新窗体
/// </summary>
/// <param name="url">URL地址</param>
/// <param name="width">窗体宽</param>
/// <param name="height">窗体高</param>
/// <param name="top">上边距</param>
/// <param name="left">左边距</param>
/// <param name="page">页面类</param>
public static void OpenWebFormSize(string url, int width, int height, int top, int left, Page page)
{
string js = @"<Script language='JavaScript'>window.open('" + url + @"','','height=" + height + ",width=" + width + ",top=" + top + ",left=" + left + ",location=no,menubar=no,resizable=yes,scrollbars=yes,status=yes,titlebar=no,toolbar=no,directories=no');</Script>";
if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "OpenWebFormSize"))
{
page.ClientScript.RegisterStartupScript(page.GetType(), "OpenWebFormSize", js);
}
}
/// <summary>
/// 转向Url定制的页面
/// </summary>
/// <param name="url">链接地址</param>
public static void JavaScriptLocationHref(string url)
{
string js = @"<Script language='JavaScript'>
window.location.replace('{0}');
</Script>";
js = string.Format(js, url);
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 转向Url定制的页面
/// </summary>
/// <param name="url">链接地址</param>
/// <param name="page">页面类</param>
public static void JavaScriptLocationHref(string url, Page page)
{
string js = @"<Script language='JavaScript'>
window.location.replace('{0}');
</Script>";
js = string.Format(js, url);
if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "JavaScriptLocationHref"))
{
page.ClientScript.RegisterStartupScript(page.GetType(), "JavaScriptLocationHref", js);
}
}
/// <summary>
/// 打开指定大小位置的模式对话框
/// </summary>
/// <param name="webFormUrl">链接地址</param>
/// <param name="width">宽</param>
/// <param name="height">高</param>
/// <param name="top">上边距</param>
/// <param name="left">左边距</param>
public static void ShowModalDialogWindow(string webFormUrl, int width, int height, int top, int left)
{
string js = "dialogWidth:" + width.ToString() + "px"
+ ";dialogHeight:" + height.ToString() + "px"
+ ";dialogLeft:" + left.ToString() + "px"
+ ";dialogTop:" + top.ToString() + "px"
+ ";center:yes;help=no;resizable:no;status:no;scroll=yes";
ShowModalDialogWindow(webFormUrl, js);
}
/// <summary>
/// 打开指定大小位置的模式对话框
/// </summary>
/// <param name="webFormUrl">链接地址</param>
/// <param name="width">宽</param>
/// <param name="height">高</param>
/// <param name="top">上边距</param>
/// <param name="left">左边距</param>
/// <param name="page">页面类</param>
public static void ShowModalDialogWindow(string webFormUrl, int width, int height, int top, int left, Page page)
{
string features = "dialogWidth:" + width.ToString() + "px"
+ ";dialogHeight:" + height.ToString() + "px"
+ ";dialogLeft:" + left.ToString() + "px"
+ ";dialogTop:" + top.ToString() + "px"
+ ";center:yes;help=no;resizable:no;status:no;scroll=yes";
ShowModalDialogWindow(webFormUrl, features, page);
}
/// <summary>
/// 弹出模式窗体
/// </summary>
/// <param name="webFormUrl">链接地址</param>
/// <param name="features">窗体特征</param>
private static void ShowModalDialogWindow(string webFormUrl, string features)
{
string js = ShowModalDialogJavascript(webFormUrl, features);
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 弹出模式窗体
/// </summary>
/// <param name="webFormUrl">链接地址</param>
/// <param name="features">窗体特征</param>
/// <param name="page">页面类</param>
private static void ShowModalDialogWindow(string webFormUrl, string features, Page page)
{
string js = ShowModalDialogJavascript(webFormUrl, features);
if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "ShowModalDialogWindow"))
{
page.ClientScript.RegisterStartupScript(page.GetType(), "ShowModalDialogWindow", js);
}
}
/// <summary>
/// 弹出模式窗体,返回JS代码
/// </summary>
/// <param name="webFormUrl">链接地址</param>
/// <param name="features">窗体特征</param>
/// <returns>弹出窗体的JS代码</returns>
private static string ShowModalDialogJavascript(string webFormUrl, string features)
{
string js = @"<script language=javascript>
showModalDialog('" + webFormUrl + "','','" + features + "');</script>";
return js;
}
}
}