在写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();
        }
    }

}

posted on 2010-01-27 12:26  wl666lw  阅读(519)  评论(1编辑  收藏  举报