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. Java中的设计模式之单例模式

    Java中的单例模式 设计模式是软件开发过程中经验的积累 一.单例模式 1.单例模式是一种常用的软件设计模式,通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控 ...

  2. 使用testng多线程来测试成交编号重复的问题

    1.首先编写一个测试用的 function CREATE OR REPLACE FUNCTION getDealmainNo_test(dealdate IN varchar2, productcod ...

  3. 联想本win10 virtualbox 安装centos

    (1)必须开发操作系统虚拟化功能,参考该百度经验 https://jingyan.baidu.com/article/8275fc864d423e46a03cf638.html (2)调整虚拟机硬盘和 ...

  4. java的日志知识

    java常用的日志有以下几种 : 一.jdk自带的java.util.logging包下的日志功能, 不常用. 二.commons-logging  + log4j 的搭配 .log4j是日志功能的具 ...

  5. Musical Theme POJ - 1743(后缀数组+二分)

    求不可重叠最长重复子串 对于height[i]定义为sa[i]和 sa[i-1]的最长公共前缀 这个最长公共前缀的值肯定是最大的 证明: 设rank[j] < rank[k], 则不难证明后缀j ...

  6. mapreduce方式操作hbase

    一.导入数据到hbase 1.配置hbase-site.xml指向hdfs <configuration> <property> <name>hbase.rootd ...

  7. 命令行Scp的使用----远程拷贝文件

    1.用CRT分别连上两台需要传输文件的linux系统服务器,并检查防火墙是否关闭. 查看防火墙状态: /etc/init.d/iptables status 若防火墙启用,暂时关闭防火墙: /etc/ ...

  8. BZOJ2437 [Noi2011]兔兔与蛋蛋 【博弈论 + 二分图匹配】

    题目链接 BZOJ2437 题解 和JSOI2014很像 只不过这题动态删点 如果我们把空位置看做\(X\)的话,就会发现我们走的路径是一个\(OX\)交错的路径 然后将图二分染色,当前点必胜,当且仅 ...

  9. nginx之编译安装

    一.认识nginx 常用的web服务有Apache.IIS(windows系统).Lighttpd.Tomcat.Nginx等.Nginx是一个开源的,支持高性能.高并发的www服务和代理服务软件.它 ...

  10. 第一章:CDib类库的建立

    VC++图像处理程序设计(第1版)    杨淑莹 编著     边奠英 主审 第一章 位图基础 Joanna-In-Hdu&Hust 手工打,印象更深刻 使用工具 VS2010 mfc  整本 ...