1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Web;
  5. using System.Web.UI;
  6. /// <summary>
  7. /// 一些常用的Js调用
  8. /// 采用ClientScript.RegisterStartupScript(string msg)的方式输出,不会改变xhtml的结构,
  9. /// 不会影响执行效果。
  10. /// 为了向下兼容,采用了重载的方式,新版本中要求一个System.Web.UI.Page类的实例。
  11. /// </summary>
  12. public class JScript
  13. {
  14. #region 实现方法
  15. /// <summary>
  16. /// 弹出JavaScript小窗口
  17. /// </summary>
  18. /// <param name="js">窗口信息</param>
  19. public static void Alert(string message, Page page)
  20. {
  21. #region
  22. string js = @"<Script language='JavaScript'>
  23. alert('" + message + "');</Script>";
  24. //HttpContext.Current.Response.Write(js);
  25. if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "alert"))
  26. {
  27. page.ClientScript.RegisterStartupScript(page.GetType(), "alert", js);
  28. }
  29. #endregion
  30. }
  31. /// <summary>
  32. /// 弹出消息框并且转向到新的URL
  33. /// </summary>
  34. /// <param name="message">消息内容</param>
  35. /// <param name="toURL">连接地址</param>
  36. public static void AlertAndRedirect(string message, string toURL, Page page)
  37. {
  38. #region
  39. string js = "<script language=javascript>alert('{0}');window.location.replace('{1}')</script>";
  40. //HttpContext.Current.Response.Write(string.Format(js, message, toURL));
  41. if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "AlertAndRedirect"))
  42. {
  43. page.ClientScript.RegisterStartupScript(page.GetType(), "AlertAndRedirect", string.Format(js, message, toURL));
  44. }
  45. #endregion
  46. }
  47. /// <summary>
  48. /// 回到历史页面
  49. /// </summary>
  50. /// <param name="value">-1/1</param>
  51. public static void GoHistory(int value, Page page)
  52. {
  53. #region
  54. string js = @"<Script language='JavaScript'>
  55. history.go({0});
  56. </Script>";
  57. //HttpContext.Current.Response.Write(string.Format(js, value));
  58. if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "GoHistory"))
  59. {
  60. page.ClientScript.RegisterStartupScript(page.GetType(), "GoHistory", string.Format(js, value));
  61. }
  62. #endregion
  63. }
  64. //        /// <summary>
  65. //        /// 关闭当前窗口
  66. //        /// </summary>
  67. //        public static void CloseWindow()
  68. //        {
  69. //            #region
  70. //            string js = @"<Script language='JavaScript'>
  71. //                    parent.opener=null;window.close();
  72. //                  </Script>";
  73. //            HttpContext.Current.Response.Write(js);
  74. //            HttpContext.Current.Response.End();
  75. //            #endregion
  76. //        }
  77. /// <summary>
  78. /// 刷新父窗口
  79. /// </summary>
  80. public static void RefreshParent(string url, Page page)
  81. {
  82. #region
  83. string js = @"<Script language='JavaScript'>
  84. window.opener.location.href='" + url + "';window.close();</Script>";
  85. //HttpContext.Current.Response.Write(js);
  86. if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "RefreshParent"))
  87. {
  88. page.ClientScript.RegisterStartupScript(page.GetType(), "RefreshParent", js);
  89. }
  90. #endregion
  91. }
  92. /// <summary>
  93. /// 刷新打开窗口
  94. /// </summary>
  95. public static void RefreshOpener(Page page)
  96. {
  97. #region
  98. string js = @"<Script language='JavaScript'>
  99. opener.location.reload();
  100. </Script>";
  101. //HttpContext.Current.Response.Write(js);
  102. if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "RefreshOpener"))
  103. {
  104. page.ClientScript.RegisterStartupScript(page.GetType(), "RefreshOpener", js);
  105. }
  106. #endregion
  107. }
  108. /// <summary>
  109. /// 打开指定大小的新窗体
  110. /// </summary>
  111. /// <param name="url">地址</param>
  112. /// <param name="width">宽</param>
  113. /// <param name="heigth">高</param>
  114. /// <param name="top">头位置</param>
  115. /// <param name="left">左位置</param>
  116. public static void OpenWebFormSize(string url, int width, int heigth, int top, int left, Page page)
  117. {
  118. #region
  119. 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>";
  120. //HttpContext.Current.Response.Write(js);
  121. if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "OpenWebFormSize"))
  122. {
  123. page.ClientScript.RegisterStartupScript(page.GetType(), "OpenWebFormSize", js);
  124. }
  125. #endregion
  126. }
  127. /// <summary>
  128. /// 转向Url制定的页面
  129. /// </summary>
  130. /// <param name="url">连接地址</param>
  131. public static void JavaScriptLocationHref(string url, Page page)
  132. {
  133. #region
  134. string js = @"<Script language='JavaScript'>
  135. window.location.replace('{0}');
  136. </Script>";
  137. js = string.Format(js, url);
  138. //HttpContext.Current.Response.Write(js);
  139. if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "JavaScriptLocationHref"))
  140. {
  141. page.ClientScript.RegisterStartupScript(page.GetType(), "JavaScriptLocationHref", js);
  142. }
  143. #endregion
  144. }
  145. /// <summary>
  146. /// 打开指定大小位置的模式对话框
  147. /// </summary>
  148. /// <param name="webFormUrl">连接地址</param>
  149. /// <param name="width">宽</param>
  150. /// <param name="height">高</param>
  151. /// <param name="top">距离上位置</param>
  152. /// <param name="left">距离左位置</param>
  153. public static void ShowModalDialogWindow(string webFormUrl, int width, int height, int top, int left, Page page)
  154. {
  155. #region
  156. string features = "dialogWidth:" + width.ToString() + "px"
  157. + ";dialogHeight:" + height.ToString() + "px"
  158. + ";dialogLeft:" + left.ToString() + "px"
  159. + ";dialogTop:" + top.ToString() + "px"
  160. + ";center:yes;help=no;resizable:no;status:no;scroll=yes";
  161. ShowModalDialogWindow(webFormUrl, features, page);
  162. #endregion
  163. }
  164. /// <summary>
  165. /// 弹出模态窗口
  166. /// </summary>
  167. /// <param name="webFormUrl"></param>
  168. /// <param name="features"></param>
  169. public static void ShowModalDialogWindow(string webFormUrl, string features, Page page)
  170. {
  171. string js = ShowModalDialogJavascript(webFormUrl, features);
  172. //HttpContext.Current.Response.Write(js);
  173. if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "ShowModalDialogWindow"))
  174. {
  175. page.ClientScript.RegisterStartupScript(page.GetType(), "ShowModalDialogWindow", js);
  176. }
  177. }
  178. private static string ShowModalDialogJavascript(string webFormUrl, string features)
  179. {
  180. throw new NotImplementedException();
  181. }
  182. //        /// <summary>
  183. //        /// 弹出模态窗口
  184. //        /// </summary>
  185. //        /// <param name="webFormUrl"></param>
  186. //        /// <param name="features"></param>
  187. //        /// <returns></returns>
  188. //        public static string ShowModalDialogJavascript(string webFormUrl, string features)
  189. //        {
  190. //            #region
  191. //            string js = @"<script language=javascript>
  192. //    showModalDialog('" + webFormUrl + "','','" + features + "');</script>";
  193. //            return js;
  194. //            #endregion
  195. //        }
  196. #endregion
  197. }

ASP.NET中常用输出JS脚本的类(来自于周公博客)的更多相关文章

  1. ASP.NET中后台注册js脚本攻略(转)

    用Page.ClientScript.RegisterClientScriptBlock 和Page.ClientScript.RegisterStartupScript:区别:   1.使用Page ...

  2. ASP.NET中常用的几个李天平开源公共类LTP.Common,Maticsoft.DBUtility,LtpPageControl

    ASP.NET中常用的几个开源公共类: LTP.Common.dll: 通用函数类库     源码下载Maticsoft.DBUtility.dll 数据访问类库组件     源码下载LtpPageC ...

  3. ASP.NET中常用的几个李天平开源公共类LTP.Common,Maticsoft.DBUtility,LtpPageControl (转)

    ASP.NET中常用的几个开源公共类: LTP.Common.dll: 通用函数类库     源码下载Maticsoft.DBUtility.dll 数据访问类库组件     源码下载LtpPageC ...

  4. C#中如何使用JS脚本

    C#中如何使用JS脚本 目前在做的组态软件中就使用到了js脚本,这部分js脚本是供用户编写的,用户可以通过我们提供的脚本以及js自身的逻辑,用户就可以随心所欲的控制设备的运行.有比较了几款在C#中执行 ...

  5. 请解释ASP. NET中的web页面与隐藏类之间的关系

    请解释ASP.NET中的web页面与其隐藏类之间的关系 其实页面与其隐藏类之间就是一个部分类的关系,你在页面上放一个一个的控件就是在这个类中定义一个一个的属性, 因为是同一个类的部分类的关系,所以隐藏 ...

  6. 分享Node.js + Koa2 + MySQL + Vue.js 实战开发一套完整个人博客项目网站

    这是个什么的项目? 使用 Node.js + Koa2 + MySQL + Vue.js 实战开发一套完整个人博客项目网站. 博客线上地址:www.boblog.com Github地址:https: ...

  7. python中逐行读取文件的最佳方式_Drupal_新浪博客

    python中逐行读取文件的最佳方式_Drupal_新浪博客 python中逐行读取文件的最佳方式    (2010-08-18 15:59:28)    转载▼    标签:    python   ...

  8. LIGHTX-CMS —— 基于 Node.js,Express.js 以及 SQLite 3 搭建的个人博客系统

    概述 LIGHTX-CMS 是我基于 Node.js,Express.js 以及 SQLite 3 搭建的个人博客发布系统. 项目本身可以拿来部署个人博客网站,同时我认为其也适合用以新手学习 Node ...

  9. C#获取C# DLL中的指定接口的所有实现实例 - qq_19759475的博客 - CSDN博客

    原文:C#获取C# DLL中的指定接口的所有实现实例 - qq_19759475的博客 - CSDN博客 public static List<T> CreateTarInterface& ...

随机推荐

  1. OpenGL三维与光照

    #include<windows.h> #include<gl/glut.h> #include<gl/gl.h> #include<gl/glu.h> ...

  2. 『编程题全队』Alpha 阶段冲刺博客Day2

    1.每日站立式会议 1.会议照片 2.昨天已完成的工作统计 孙志威:   确定了本阶段的团队目标   确定了个人所分配的任务(主要为客户端GUI模块) 孙慧君:    确定了自己的任务,并着手开始环境 ...

  3. JMeter性能测试基础 (3) - 使用参数文件做搜索引擎性能对比

    本篇文章主要对如何在JMeter中进行URL的参数进行配置进行介绍,通过CSV文件配置参数数据,对baidu.sogou.haosou进行搜索性能对比测试. 1.建立测试计划.线程组,并在线程组下添加 ...

  4. PHP TS 和 NTS 版本选择

    在PHP 开发和生产环境搭建过程中,需要安装PHP语言解析器.官方提供了2种类型的版本,线程安全(TS)版和非线程安全(NTS)版,有时后我们开发环境和实际生产的环境有所不同,因此也需要选择安装对应的 ...

  5. 【Web Shell】- 技术剖析中国菜刀 – Part I

    这里的中国菜刀不是指切菜做饭的工具,而是中国安全圈内使用非常广泛的一款Webshell管理工具,想买菜刀请出门左拐东门菜市场王铁匠处.中国菜刀用途十分广泛,支持多种语言,小巧实用,据说是一位中国军人退 ...

  6. [转帖] Linux buffer 和 cache相关内容

    Linux中Buffer/Cache清理 Lentil2018年9月6日 Linux中的buff/cache可以被手动释放,释放缓存的代码如下: https://lentil1016.cn/linux ...

  7. linux c 判断文件存在,遍历文件,随机修改文件内容

    #include<stdio.h> #include<stdlib.h> #include<time.h> #include<assert.h> #in ...

  8. Redis:主从复制

    前言 在前面的两篇文章中,分别介绍了Redis的内存模型和Redis的持久化. 在Redis的持久化中曾提到,Redis高可用的方案包括持久化.主从复制(及读写分离).哨兵和集群.其中持久化侧重解决的 ...

  9. SPOJ_LCS

    经典题目,求两个串的最长公共子串. 是这样来做的. 以第一个串构造SAM,第二个串在自动机上跟新一遍就可以了. 更新的过程是这样的,假设当前到达的状态点为x(初始状态为0点),下一个字符是c,如果当前 ...

  10. MySQL-常见数据拆分办法

    在生产环境中,由于业务的增长或者业务的拆分,DBA经常需要拆库操作.那么我们常见的拆库手段有哪些呢? 我这里提供几种解决办法: 1. 使用mysqldump 把表逻辑倒出,然后再source 到其它地 ...