在写ASP.NET程序的时候,会经常用到一些类似ALERT的JS脚本,自己瞎写了一个集合常用方法的类以便日后使用。
using System.Web;
/// <summary>
/// Javascript常用方法
/// </summary>
public class JS
{
private static string ScriptStart = "<script type=\"text/javascript\">";
private static string ScriptEnd = "</script>";
/// <summary>
/// 写入JS脚本内容
/// </summary>
/// <param name="ScriptString">脚本内容</param>
/// <param name="IsResponseEnd">是否中断服务端脚本执行</param>
public static void WriteScript(string ScriptString, bool IsResponseEnd)
{
HttpContext.Current.Response.Write(ScriptStart);
HttpContext.Current.Response.Write(ScriptString);
HttpContext.Current.Response.Write(ScriptEnd);
if (IsResponseEnd)
{
HttpContext.Current.Response.End();
}
}
/// <summary>
/// 弹出警告框
/// </summary>
/// <param name="AlertMessage">提示信息</param>
/// <param name="IsResponseEnd">是否中断服务端脚本执行</param>
public static void Alert(string AlertMessage, bool IsResponseEnd)
{
HttpContext.Current.Response.Write(ScriptStart);
HttpContext.Current.Response.Write("alert('" + AlertMessage + "');history.back();");
HttpContext.Current.Response.Write(ScriptEnd);
if (IsResponseEnd)
{
HttpContext.Current.Response.End();
}
}
/// <summary>
/// 弹出警告框并跳转
/// </summary>
/// <param name="AlertMessage">提示信息</param>
/// <param name="RedirectPath">跳转路径</param>
/// <param name="IsTopWindow">是否为全屏跳转</param>
public static void Alert(string AlertMessage, string RedirectPath, bool IsTopWindow)
{
HttpContext.Current.Response.Write(ScriptStart);
HttpContext.Current.Response.Write("alert('" + AlertMessage + "');");
if (IsTopWindow)
{
HttpContext.Current.Response.Write("parent.top.location.href='" + RedirectPath + "';");
}
else
{
HttpContext.Current.Response.Write("location.href='" + RedirectPath + "';");
}
HttpContext.Current.Response.Write(ScriptEnd);
HttpContext.Current.Response.End();
}
/// <summary>
/// 弹出警告框并关闭窗口
/// </summary>
/// <param name="AlertMessage">提示信息</param>
public static void AlertAndClose(string AlertMessage)
{
HttpContext.Current.Response.Write(ScriptStart);
HttpContext.Current.Response.Write("alert('" + AlertMessage + "');window.close();");
HttpContext.Current.Response.Write(ScriptEnd);
HttpContext.Current.Response.End();
}
/// <summary>
/// 全屏跳转
/// </summary>
/// <param name="RedirectpPath">跳转路径</param>
public static void TopRedirect(string RedirectpPath)
{
HttpContext.Current.Response.Write(ScriptStart);
HttpContext.Current.Response.Write("parent.top.location.href='" + RedirectpPath + "';");
HttpContext.Current.Response.Write(ScriptEnd);
HttpContext.Current.Response.End();
}
/// <summary>
/// 判断并跳转
/// </summary>
/// <param name="confirmMessage">提示信息</param>
/// <param name="YesRedirectPath">选择“是”后跳转的路径</param>
/// <param name="NoRedirectPath">选择“否”后跳转的路径</param>
/// <param name="IsResponseEnd">是否中断服务端脚本执行</param>
public static void ConfirmRedirect(string confirmMessage, string YesRedirectPath, string NoRedirectPath, bool IsResponseEnd)
{
HttpContext.Current.Response.Write(ScriptStart);
HttpContext.Current.Response.Write("if(confirm('" + confirmMessage + "')){location.href='" + YesRedirectPath + "';}else{location.href='" + NoRedirectPath + "';}");
HttpContext.Current.Response.Write(ScriptEnd);
if (IsResponseEnd)
{
HttpContext.Current.Response.End();
}
}
/// <summary>
/// 判断并写入脚本代码
/// </summary>
/// <param name="confirmMessage">提示信息</param>
/// <param name="YesScript">选择“是”后写入的脚本内容</param>
/// <param name="NoScript">选择“否”后写入的脚本内容</param>
/// <param name="IsResponseEnd">是否中断服务端脚本执行</param>
public static void ConfirmScript(string confirmMessage, string YesScript, string NoScript, bool IsResponseEnd)
{
HttpContext.Current.Response.Write(ScriptStart);
HttpContext.Current.Response.Write("if(confirm('" + confirmMessage + "')){" + YesScript + "}else{" + NoScript + "}");
HttpContext.Current.Response.Write(ScriptEnd);
if (IsResponseEnd)
{
HttpContext.Current.Response.End();
}
}
}