• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ASP.NET中常用输出JS脚本的类实例

    本文实例讲述了ASP.NET中常用输出JS脚本的类,针对过去输出js脚本的类进行了一定的改进。在项目开发中非常具有实用价值。分享给大家供大家参考。具体如下:

    很多时候在ASP.NET中我们经常需要输出一些JS脚本,比如弹出一个警告窗口,返回到历史页面等JS功能,我看到网上流传得比较广的是马先光写的一个JScript类,这个类基本将经常用到的JS脚本包含了,非常方便,唯一的不足是作者采用的Response.Write(string msg)的办法,这样造成输出的js脚本在html>/html>标签之外,破坏了原有XHTML的结构,所以本人在满足原功能的情况下,对JScript类做了进一步的改善,这个改善采用了重载的办法,增加了一个System.Web.UI.Page类的实例作为参数,不会影响原来的程序代码。
    整个程序的代码如下:

    复制代码 代码如下:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Web;
    using System.Web.UI;

    /// summary>
    /// 一些常用的Js调用
    /// 添加新版说明:由于旧版普遍采用Response.Write(string msg)的方式输出js脚本,这种
    /// 方式输出的js脚本会在html元素的lt;htmlgt;lt;/htmlgt;标签之外,破坏了整个xhtml的结构,
    /// 而新版本则采用ClientScript.RegisterStartupScript(string msg)的方式输出,不会改变xhtml的结构,
    /// 不会影响执行效果。
    /// 为了向下兼容,所以新版本采用了重载的方式,新版本中要求一个System.Web.UI.Page类的实例。
    /// 创建者:马先光
    /// 新版作者:周公
    /// 修改版发布网址:http://blog.csdn.net/zhoufoxcn
    /// /summary>
    public class JScript
    {
        #region 旧版本
        /// summary>
        /// 弹出JavaScript小窗口
        /// /summary>
        /// param name="js">窗口信息/param>
        public static void Alert(string message)
        {
            #region
            string js = @"Script language='JavaScript'>
                        alert('" + message + "');/Script>";
            HttpContext.Current.Response.Write(js);
            #endregion
        }

        /// summary>
        /// 弹出消息框并且转向到新的URL
        /// /summary>
        /// param name="message">消息内容/param>
        /// param name="toURL">连接地址/param>
        public static void AlertAndRedirect(string message, string toURL)
        {
            #region
            string js = "script language=javascript>alert('{0}');window.location.replace('{1}')/script>";
            HttpContext.Current.Response.Write(string.Format(js, message, toURL));
            #endregion
        }

        /// summary>
        /// 回到历史页面
        /// /summary>
        /// param name="value">-1/1/param>
        public static void GoHistory(int value)
        {
            #region
            string js = @"Script language='JavaScript'>
                        history.go({0}); 
                      /Script>";
            HttpContext.Current.Response.Write(string.Format(js, value));
            #endregion
        }

        /// summary>
        /// 关闭当前窗口
        /// /summary>
        public static void CloseWindow()
        {
            #region
            string js = @"Script language='JavaScript'>
                        parent.opener=null;window.close(); 
                      /Script>";
            HttpContext.Current.Response.Write(js);
            HttpContext.Current.Response.End();
            #endregion
        }

        /// summary>
        /// 刷新父窗口
        /// /summary>
        public static void RefreshParent(string url)
        {
            #region
            string js = @"Script language='JavaScript'>
                        window.opener.location.href='" + url + "';window.close();/Script>";
            HttpContext.Current.Response.Write(js);
            #endregion
        }


        /// summary>
        /// 刷新打开窗口
        /// /summary>
        public static void RefreshOpener()
        {
            #region
            string js = @"Script language='JavaScript'>
                        opener.location.reload();
                      /Script>";
            HttpContext.Current.Response.Write(js);
            #endregion
        }


        /// summary>
        /// 打开指定大小的新窗体
        /// /summary>
        /// param name="url">地址/param>
        /// param name="width">宽/param>
        /// param name="heigth">高/param>
        /// param name="top">头位置/param>
        /// param name="left">左位置/param>
        public static void OpenWebFormSize(string url, int width, int heigth, int top, int left)
        {
            #region
            string js = @"Script language='JavaScript'>window.open('" + url + @"','','height=" + heigth + ",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);
            #endregion
        }


        /// summary>
        /// 转向Url制定的页面
        /// /summary>
        /// param name="url">连接地址/param>
        public static void JavaScriptLocationHref(string url)
        {
            #region
            string js = @"Script language='JavaScript'>
                        window.location.replace('{0}');
                      /Script>";
            js = string.Format(js, url);
            HttpContext.Current.Response.Write(js);
            #endregion
        }

        /// 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)
        {
            #region
            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);
            #endregion
        }
        /// summary>
        /// 弹出模态窗口
        /// /summary>
        /// param name="webFormUrl">/param>
        /// param name="features">/param>
        public 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>
        /// returns>/returns>
        public static string ShowModalDialogJavascript(string webFormUrl, string features)
        {
            #region
            string js = @"script language=javascript>                           
                                showModalDialog('" + webFormUrl + "','','" + features + "');/script>";
            return js;
            #endregion
        }
        #endregion

        #region 新版本
        /// summary>
        /// 弹出JavaScript小窗口
        /// /summary>
        /// param name="js">窗口信息/param>
        public static void Alert(string message, Page page)
        {
            #region
            string js = @"Script language='JavaScript'>
                        alert('" + message + "');/Script>";
            //HttpContext.Current.Response.Write(js);
            if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "alert"))
            {
                page.ClientScript.RegisterStartupScript(page.GetType(), "alert", js);
            }
            #endregion
        }

        /// summary>
        /// 弹出消息框并且转向到新的URL
        /// /summary>
        /// param name="message">消息内容/param>
        /// param name="toURL">连接地址/param>
        public static void AlertAndRedirect(string message, string toURL, Page page)
        {
            #region
            string js = "script language=javascript>alert('{0}');window.location.replace('{1}')/script>";
            //HttpContext.Current.Response.Write(string.Format(js, message, toURL));
            if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "AlertAndRedirect"))
            {
                page.ClientScript.RegisterStartupScript(page.GetType(), "AlertAndRedirect", string.Format(js, message, toURL));
            }
            #endregion
        }

        /// summary>
        /// 回到历史页面
        /// /summary>
        /// param name="value">-1/1/param>
        public static void GoHistory(int value, Page page)
        {
            #region
            string js = @"Script language='JavaScript'>
                        history.go({0}); 
                      /Script>";
            //HttpContext.Current.Response.Write(string.Format(js, value));
            if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "GoHistory"))
            {
                page.ClientScript.RegisterStartupScript(page.GetType(), "GoHistory", string.Format(js, value));
            }
            #endregion
        }

        //        /// summary>
        //        /// 关闭当前窗口
        //        /// /summary>
        //        public static void CloseWindow()
        //        {
        //            #region
        //            string js = @"Script language='JavaScript'>
        //                    parent.opener=null;window.close(); 
        //                  /Script>";
        //            HttpContext.Current.Response.Write(js);
        //            HttpContext.Current.Response.End();
        //            #endregion
        //        }

        /// summary>
        /// 刷新父窗口
        /// /summary>
        public static void RefreshParent(string url, Page page)
        {
            #region
            string js = @"Script language='JavaScript'>
                        window.opener.location.href='" + url + "';window.close();/Script>";
            //HttpContext.Current.Response.Write(js);
            if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "RefreshParent"))
            {
                page.ClientScript.RegisterStartupScript(page.GetType(), "RefreshParent", js);
            }
            #endregion
        }


        /// summary>
        /// 刷新打开窗口
        /// /summary>
        public static void RefreshOpener(Page page)
        {
            #region
            string js = @"Script language='JavaScript'>
                        opener.location.reload();
                      /Script>";
            //HttpContext.Current.Response.Write(js);
            if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "RefreshOpener"))
            {
                page.ClientScript.RegisterStartupScript(page.GetType(), "RefreshOpener", js);
            }
            #endregion
        }


        /// summary>
        /// 打开指定大小的新窗体
        /// /summary>
        /// param name="url">地址/param>
        /// param name="width">宽/param>
        /// param name="heigth">高/param>
        /// param name="top">头位置/param>
        /// param name="left">左位置/param>
        public static void OpenWebFormSize(string url, int width, int heigth, int top, int left, Page page)
        {
            #region
            string js = @"Script language='JavaScript'>window.open('" + url + @"','','height=" + heigth + ",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);
            if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "OpenWebFormSize"))
            {
                page.ClientScript.RegisterStartupScript(page.GetType(), "OpenWebFormSize", js);
            }
            #endregion
        }


        /// summary>
        /// 转向Url制定的页面
        /// /summary>
        /// param name="url">连接地址/param>
        public static void JavaScriptLocationHref(string url, Page page)
        {
            #region
            string js = @"Script language='JavaScript'>
                        window.location.replace('{0}');
                      /Script>";
            js = string.Format(js, url);
            //HttpContext.Current.Response.Write(js);
            if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "JavaScriptLocationHref"))
            {
                page.ClientScript.RegisterStartupScript(page.GetType(), "JavaScriptLocationHref", js);
            }
            #endregion
        }

        /// 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, Page page)
        {
            #region
            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);
            #endregion
        }
        /// summary>
        /// 弹出模态窗口
        /// /summary>
        /// param name="webFormUrl">/param>
        /// param name="features">/param>
        public static void ShowModalDialogWindow(string webFormUrl, string features, Page page)
        {
            string js = ShowModalDialogJavascript(webFormUrl, features);
            //HttpContext.Current.Response.Write(js);
            if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "ShowModalDialogWindow"))
            {
                page.ClientScript.RegisterStartupScript(page.GetType(), "ShowModalDialogWindow", js);
            }
        }
        //        /// summary>
        //        /// 弹出模态窗口
        //        /// /summary>
        //        /// param name="webFormUrl">/param>
        //        /// param name="features">/param>
        //        /// returns>/returns>
        //        public static string ShowModalDialogJavascript(string webFormUrl, string features)
        //        {
        //            #region
        //            string js = @"script language=javascript>                           
        //    showModalDialog('" + webFormUrl + "','','" + features + "');/script>";
        //            return js;
        //            #endregion
        //        }
        #endregion
    }

    希望本文所述对大家的C#程序设计有所帮助。

    您可能感兴趣的文章:
    • ASP.NET中常用的用来输出JS脚本的类
    • asp.net中js+jquery添加下拉框值和后台获取示例
    • asp.net中利用Jquery+Ajax+Json实现无刷新分页的实例代码
    • ASP.NET中为TextBox中添加calendar.js示例代码
    • ASP.NET中用js取CheckBoxList中值的方法实例
    • asp.net中js和jquery调用ashx的不同方法分享
    • ASP.NET中后台注册js脚本使用的方法对比
    • asp.net中将js的返回值赋给asp.net控件的小例子
    • asp.net中各种类型的JSON格式化
    • ASP.NET中JSON的序列化和反序列化使用说明
    • Jquery中getJSON在asp.net中的使用说明
    上一篇:.net使用自定义类属性实例
    下一篇:将excel高效导入sqlserver的可行方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    ASP.NET中常用输出JS脚本的类实例 ASP.NET,中,常用,输出,脚本,