1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4 using System.Web;
5 using System.Web.UI;
6
7 /// </summary>
8 public class JScript
9 {
10 #region 旧版本
11 /// <summary>
12 /// 弹出JavaScript小窗口
13 /// </summary>
14 /// <param name="js">窗口信息</param>
15 public static void Alert(string message)
16 {
17 #region
18 string js = @"<Script language='JavaScript'>
19 alert('" + message + "');</Script>";
20 HttpContext.Current.Response.Write(js);
21 #endregion
22 }
23
24 /// <summary>
25 /// 弹出消息框并且转向到新的URL
26 /// </summary>
27 /// <param name="message">消息内容</param>
28 /// <param name="toURL">连接地址</param>
29 public static void AlertAndRedirect(string message, string toURL)
30 {
31 #region
32 string js = "<script language=javascript>alert('{0}');window.location.replace('{1}')</script>";
33 HttpContext.Current.Response.Write(string.Format(js, message, toURL));
34 #endregion
35 }
36
37 /// <summary>
38 /// 回到历史页面
39 /// </summary>
40 /// <param name="value">-1/1</param>
41 public static void GoHistory(int value)
42 {
43 #region
44 string js = @"<Script language='JavaScript'>
45 history.go({0});
46 </Script>";
47 HttpContext.Current.Response.Write(string.Format(js, value));
48 #endregion
49 }
50
51 /// <summary>
52 /// 关闭当前窗口
53 /// </summary>
54 public static void CloseWindow()
55 {
56 #region
57 string js = @"<Script language='JavaScript'>
58 parent.opener=null;window.close();
59 </Script>";
60 HttpContext.Current.Response.Write(js);
61 HttpContext.Current.Response.End();
62 #endregion
63 }
64
65 /// <summary>
66 /// 刷新父窗口
67 /// </summary>
68 public static void RefreshParent(string url)
69 {
70 #region
71 string js = @"<Script language='JavaScript'>
72 window.opener.location.href='" + url + "';window.close();</Script>";
73 HttpContext.Current.Response.Write(js);
74 #endregion
75 }
76
77
78 /// <summary>
79 /// 刷新打开窗口
80 /// </summary>
81 public static void RefreshOpener()
82 {
83 #region
84 string js = @"<Script language='JavaScript'>
85 opener.location.reload();
86 </Script>";
87 HttpContext.Current.Response.Write(js);
88 #endregion
89 }
90
91
92 /// <summary>
93 /// 打开指定大小的新窗体
94 /// </summary>
95 /// <param name="url">地址</param>
96 /// <param name="width">宽</param>
97 /// <param name="heigth">高</param>
98 /// <param name="top">头位置</param>
99 /// <param name="left">左位置</param>
100 public static void OpenWebFormSize(string url, int width, int heigth, int top, int left)
101 {
102 #region
103 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>";
104
105 HttpContext.Current.Response.Write(js);
106 #endregion
107 }
108
109
110 /// <summary>
111 /// 转向Url制定的页面
112 /// </summary>
113 /// <param name="url">连接地址</param>
114 public static void JavaScriptLocationHref(string url)
115 {
116 #region
117 string js = @"<Script language='JavaScript'>
118 window.location.replace('{0}');
119 </Script>";
120 js = string.Format(js, url);
121 HttpContext.Current.Response.Write(js);
122 #endregion
123 }
124
125 /// <summary>
126 /// 打开指定大小位置的模式对话框
127 /// </summary>
128 /// <param name="webFormUrl">连接地址</param>
129 /// <param name="width">宽</param>
130 /// <param name="height">高</param>
131 /// <param name="top">距离上位置</param>
132 /// <param name="left">距离左位置</param>
133 public static void ShowModalDialogWindow(string webFormUrl, int width, int height, int top, int left)
134 {
135 #region
136 string features = "dialogWidth:" + width.ToString() + "px"
137 + ";dialogHeight:" + height.ToString() + "px"
138 + ";dialogLeft:" + left.ToString() + "px"
139 + ";dialogTop:" + top.ToString() + "px"
140 + ";center:yes;help=no;resizable:no;status:no;scroll=yes";
141 ShowModalDialogWindow(webFormUrl, features);
142 #endregion
143 }
144 /// <summary>
145 /// 弹出模态窗口
146 /// </summary>
147 /// <param name="webFormUrl"></param>
148 /// <param name="features"></param>
149 public static void ShowModalDialogWindow(string webFormUrl, string features)
150 {
151 string js = ShowModalDialogJavascript(webFormUrl, features);
152 HttpContext.Current.Response.Write(js);
153 }
154 /// <summary>
155 /// 弹出模态窗口
156 /// </summary>
157 /// <param name="webFormUrl"></param>
158 /// <param name="features"></param>
159 /// <returns></returns>
160 public static string ShowModalDialogJavascript(string webFormUrl, string features)
161 {
162 #region
163 string js = @"<script language=javascript>
164 showModalDialog('" + webFormUrl + "','','" + features + "');</script>";
165 return js;
166 #endregion
167 }
168 #endregion
169
170 #region 新版本
171 /// <summary>
172 /// 弹出JavaScript小窗口
173 /// </summary>
174 /// <param name="js">窗口信息</param>
175 public static void Alert(string message, Page page)
176 {
177 #region
178 string js = @"<Script language='JavaScript'>
179 alert('" + message + "');</Script>";
180 //HttpContext.Current.Response.Write(js);
181 if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "alert"))
182 {
183 page.ClientScript.RegisterStartupScript(page.GetType(), "alert", js);
184 }
185 #endregion
186 }
187
188 /// <summary>
189 /// 弹出消息框并且转向到新的URL
190 /// </summary>
191 /// <param name="message">消息内容</param>
192 /// <param name="toURL">连接地址</param>
193 public static void AlertAndRedirect(string message, string toURL, Page page)
194 {
195 #region
196 string js = "<script language=javascript>alert('{0}');window.location.replace('{1}')</script>";
197 //HttpContext.Current.Response.Write(string.Format(js, message, toURL));
198 if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "AlertAndRedirect"))
199 {
200 page.ClientScript.RegisterStartupScript(page.GetType(), "AlertAndRedirect", string.Format(js, message, toURL));
201 }
202 #endregion
203 }
204
205 /// <summary>
206 /// 回到历史页面
207 /// </summary>
208 /// <param name="value">-1/1</param>
209 public static void GoHistory(int value, Page page)
210 {
211 #region
212 string js = @"<Script language='JavaScript'>
213 history.go({0});
214 </Script>";
215 //HttpContext.Current.Response.Write(string.Format(js, value));
216 if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "GoHistory"))
217 {
218 page.ClientScript.RegisterStartupScript(page.GetType(), "GoHistory", string.Format(js, value));
219 }
220 #endregion
221 }
222
223 // /// <summary>
224 // /// 关闭当前窗口
225 // /// </summary>
226 // public static void CloseWindow()
227 // {
228 // #region
229 // string js = @"<Script language='JavaScript'>
230 // parent.opener=null;window.close();
231 // </Script>";
232 // HttpContext.Current.Response.Write(js);
233 // HttpContext.Current.Response.End();
234 // #endregion
235 // }
236
237 /// <summary>
238 /// 刷新父窗口
239 /// </summary>
240 public static void RefreshParent(string url, Page page)
241 {
242 #region
243 string js = @"<Script language='JavaScript'>
244 window.opener.location.href='" + url + "';window.close();</Script>";
245 //HttpContext.Current.Response.Write(js);
246 if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "RefreshParent"))
247 {
248 page.ClientScript.RegisterStartupScript(page.GetType(), "RefreshParent", js);
249 }
250 #endregion
251 }
252
253
254 /// <summary>
255 /// 刷新打开窗口
256 /// </summary>
257 public static void RefreshOpener(Page page)
258 {
259 #region
260 string js = @"<Script language='JavaScript'>
261 opener.location.reload();
262 </Script>";
263 //HttpContext.Current.Response.Write(js);
264 if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "RefreshOpener"))
265 {
266 page.ClientScript.RegisterStartupScript(page.GetType(), "RefreshOpener", js);
267 }
268 #endregion
269 }
270
271
272 /// <summary>
273 /// 打开指定大小的新窗体
274 /// </summary>
275 /// <param name="url">地址</param>
276 /// <param name="width">宽</param>
277 /// <param name="heigth">高</param>
278 /// <param name="top">头位置</param>
279 /// <param name="left">左位置</param>
280 public static void OpenWebFormSize(string url, int width, int heigth, int top, int left, Page page)
281 {
282 #region
283 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>";
284 //HttpContext.Current.Response.Write(js);
285 if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "OpenWebFormSize"))
286 {
287 page.ClientScript.RegisterStartupScript(page.GetType(), "OpenWebFormSize", js);
288 }
289 #endregion
290 }
291
292
293 /// <summary>
294 /// 转向Url制定的页面
295 /// </summary>
296 /// <param name="url">连接地址</param>
297 public static void JavaScriptLocationHref(string url, Page page)
298 {
299 #region
300 string js = @"<Script language='JavaScript'>
301 window.location.replace('{0}');
302 </Script>";
303 js = string.Format(js, url);
304 //HttpContext.Current.Response.Write(js);
305 if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "JavaScriptLocationHref"))
306 {
307 page.ClientScript.RegisterStartupScript(page.GetType(), "JavaScriptLocationHref", js);
308 }
309 #endregion
310 }
311
312 /// <summary>
313 /// 打开指定大小位置的模式对话框
314 /// </summary>
315 /// <param name="webFormUrl">连接地址</param>
316 /// <param name="width">宽</param>
317 /// <param name="height">高</param>
318 /// <param name="top">距离上位置</param>
319 /// <param name="left">距离左位置</param>
320 public static void ShowModalDialogWindow(string webFormUrl, int width, int height, int top, int left, Page page)
321 {
322 #region
323 string features = "dialogWidth:" + width.ToString() + "px"
324 + ";dialogHeight:" + height.ToString() + "px"
325 + ";dialogLeft:" + left.ToString() + "px"
326 + ";dialogTop:" + top.ToString() + "px"
327 + ";center:yes;help=no;resizable:no;status:no;scroll=yes";
328 ShowModalDialogWindow(webFormUrl, features, page);
329 #endregion
330 }
331 /// <summary>
332 /// 弹出模态窗口
333 /// </summary>
334 /// <param name="webFormUrl"></param>
335 /// <param name="features"></param>
336 public static void ShowModalDialogWindow(string webFormUrl, string features, Page page)
337 {
338 string js = ShowModalDialogJavascript(webFormUrl, features);
339 //HttpContext.Current.Response.Write(js);
340 if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "ShowModalDialogWindow"))
341 {
342 page.ClientScript.RegisterStartupScript(page.GetType(), "ShowModalDialogWindow", js);
343 }
344 }
345 // /// <summary>
346 // /// 弹出模态窗口
347 // /// </summary>
348 // /// <param name="webFormUrl"></param>
349 // /// <param name="features"></param>
350 // /// <returns></returns>
351 // public static string ShowModalDialogJavascript(string webFormUrl, string features)
352 // {
353 // #region
354 // string js = @"<script language=javascript>
355 // showModalDialog('" + webFormUrl + "','','" + features + "');</script>";
356 // return js;
357 // #endregion
358 // }
359 #endregion
360 }
361
362 /// <summary>
363 /// 一些常用的Js调用
364 /// 添加新版说明:由于旧版普遍采用Response.Write(string msg)的方式输出js脚本,这种
365 /// 方式输出的js脚本会在html元素的<html></html>标签之外,破坏了整个xhtml的结构,
366 /// 而新版本则采用ClientScript.RegisterStartupScript(string msg)的方式输出,不会改变xhtml的结构,
367 /// 不会影响执行效果。
368 /// 为了向下兼容,所以新版本采用了重载的方式,新版本中要求一个System.Web.UI.Page类的实例。