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. windows下的C++ socket服务器(2)

    int main(int ac, char *av[]) { ); ) { exit(); } thread t; ) { int socket_fd = accept(tcp_socket, nul ...

  2. 使用docker-compose编排django、mysql实战

    背景: 本萌最近在部署自己开发的项目的时候发现同一套代码上传到服务器上后,部分功能莫名其妙的有点问题,服务器的各项配置都没有做过变动,所以想把项目转战到docker. 奈何刚接触docker,很多地方 ...

  3. 左连接,右连接和等值连接(left join,right join和inner join)

    left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只 ...

  4. static变量 方法 类 和final

    static变量:声明为static的变量实质上就是全局变量.当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量.静态变量与静态方法类似.所有此类实例共 ...

  5. FFT常数优化(共轭优化)

    最近闲着无聊研究了下\(FFT\)的常数优化,大概就是各种\(3\)次变\(2or1.5\)次之类的,不过没见过啥题卡这个的吧. 关于\(FFT\)可以看这里:浅谈FFT&NTT. 关于复数 ...

  6. Mininet 系列实验(一)

    关于SDN的第一个实验,似乎实验室里的前辈们也都是从这里开始的. 实验内容 使用源码安装Mininet 参考 Mininet使用源码安装 实验环境 虚拟机:Oracle VM VirtualBox U ...

  7. BZOJ2800 [Poi2012]Leveling Ground 【扩展欧几里得 + 三分 + 堆】

    题目链接 BZOJ2800 题解 区间加极难操作,差分之后可转化为两点一加一减 那么现在问题就将每个点暂时独立开来 先判定每个点是否被\((A,B)\)整除,否则无解 之后我们先将\(A,B\)化为互 ...

  8. 【51Nod1773】A国的贸易 解题报告

    [51Nod1773]A国的贸易 Description 给出一个长度为 \(2^n\) 的序列,编号从\(0\)开始.每次操作后,如果 \(i\) 与 \(j\) 的二进制表示只差一位则第 \(i\ ...

  9. P2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold 解题报告

    P2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold 题意 给一个字符串,每次可以从两边中的一边取一个字符,要求取出的字符串字典序最小 可以Hash+二分 也可以S ...

  10. 【bzoj3575】 Hnoi2014—道路堵塞

    http://www.lydsy.com/JudgeOnline/problem.php?id=3575 (题目链接) 题意 给出一个有向图和一条最短路,问最短路上任意一条边断掉,此时的最短路是多少. ...