1. 程式人生 > >【C#公共幫助類】 WebHelper幫助類

【C#公共幫助類】 WebHelper幫助類

  1 using System;
  2 using System.Data;
  3 using System.Configuration;
  4 using System.Web;
  5 using System.Web.Security;
  6 using System.Web.UI;
  7 using System.Web.UI.WebControls;
  8 using System.Web.UI.WebControls.WebParts;
  9 using System.Web.UI.HtmlControls;
 10 
 11 namespace Common
12 { 13 /// <summary> 14 /// 一些常用的Js呼叫 15 /// 新增新版說明:由於舊版普遍採用Response.Write(string msg)的方式輸出js指令碼,這種 16 /// 方式輸出的js指令碼會在html元素的&lt;html&gt;&lt;/html&gt;標籤之外,破壞了整個xhtml的結構, 17 /// 而新版本則採用ClientScript.RegisterStartupScript(string msg)的方式輸出,不會改變xhtml的結構, 18 /// 不會影響執行效果。
19 /// 為了向下相容,所以新版本採用了過載的方式,新版本中要求一個System.Web.UI.Page類的例項。 20 /// </summary> 21 public class JScript 22 { 23 #region 舊版本 24 /// <summary> 25 /// 彈出JavaScript小視窗 26 /// </summary> 27 /// <param name="message">視窗資訊</param>
28 public static void Alert(string message) 29 { 30 #region 31 string js = @"<Script language='JavaScript'> 32 alert('" + message + "');</Script>"; 33 HttpContext.Current.Response.Write(js); 34 #endregion 35 } 36 37 /// <summary> 38 /// 彈出訊息框並且轉向到新的URL 39 /// </summary> 40 /// <param name="message">訊息內容</param> 41 /// <param name="toURL">連線地址</param> 42 public static void AlertAndRedirect(string message, string toURL) 43 { 44 #region 45 string js = "<script language=javascript>alert('{0}');window.location.replace('{1}')</script>"; 46 HttpContext.Current.Response.Write(string.Format(js, message, toURL)); 47 #endregion 48 } 49 50 /// <summary> 51 /// 回到歷史頁面 52 /// </summary> 53 /// <param name="value">-1/1</param> 54 public static void GoHistory(int value) 55 { 56 #region 57 string js = @"<Script language='JavaScript'> 58 history.go({0}); 59 </Script>"; 60 HttpContext.Current.Response.Write(string.Format(js, value)); 61 #endregion 62 } 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 78 /// <summary> 79 /// 重新整理父視窗 80 /// </summary> 81 public static void RefreshParent(string url) 82 { 83 #region 84 string js = @"<Script language='JavaScript'> 85 window.opener.location.href='" + url + "';window.close();</Script>"; 86 HttpContext.Current.Response.Write(js); 87 #endregion 88 } 89 90 91 /// <summary> 92 /// 重新整理開啟視窗 93 /// </summary> 94 public static void RefreshOpener() 95 { 96 #region 97 string js = @"<Script language='JavaScript'> 98 opener.location.reload(); 99 </Script>"; 100 HttpContext.Current.Response.Write(js); 101 #endregion 102 } 103 104 105 /// <summary> 106 /// 開啟指定大小的新窗體 107 /// </summary> 108 /// <param name="url">地址</param> 109 /// <param name="width"></param> 110 /// <param name="heigth"></param> 111 /// <param name="top">頭位置</param> 112 /// <param name="left">左位置</param> 113 public static void OpenWebFormSize(string url, int width, int heigth, int top, int left) 114 { 115 #region 116 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>"; 117 118 HttpContext.Current.Response.Write(js); 119 #endregion 120 } 121 122 123 /// <summary> 124 /// 轉向Url制定的頁面 125 /// </summary> 126 /// <param name="url">連線地址</param> 127 public static void JavaScriptLocationHref(string url) 128 { 129 #region 轉向按鈕Js 130 string js = @"<Script language='JavaScript'> 131 window.location.replace('{0}'); 132 </Script>"; 133 js = string.Format(js, url); 134 HttpContext.Current.Response.Write(js); 135 #endregion 136 } 137 138 /// <summary> 139 /// 開啟指定大小位置的模式對話方塊 140 /// </summary> 141 /// <param name="webFormUrl">連線地址</param> 142 /// <param name="width"></param> 143 /// <param name="height"></param> 144 /// <param name="top">距離上位置</param> 145 /// <param name="left">距離左位置</param> 146 public static void ShowModalDialogWindow(string webFormUrl, int width, int height, int top, int left) 147 { 148 #region 大小位置 149 string features = "dialogWidth:" + width.ToString() + "px" 150 + ";dialogHeight:" + height.ToString() + "px" 151 + ";dialogLeft:" + left.ToString() + "px" 152 + ";dialogTop:" + top.ToString() + "px" 153 + ";center:yes;help=no;resizable:no;status:no;scroll=yes"; 154 ShowModalDialogWindow(webFormUrl, features); 155 #endregion 156 } 157 /// <summary> 158 /// 彈出模態視窗 159 /// </summary> 160 /// <param name="webFormUrl"></param> 161 /// <param name="features"></param> 162 public static void ShowModalDialogWindow(string webFormUrl, string features) 163 { 164 string js = ShowModalDialogJavascript(webFormUrl, features); 165 HttpContext.Current.Response.Write(js); 166 } 167 /// <summary> 168 /// 彈出模態視窗 169 /// </summary> 170 /// <param name="webFormUrl"></param> 171 /// <param name="features"></param> 172 /// <returns></returns> 173 public static string ShowModalDialogJavascript(string webFormUrl, string features) 174 { 175 #region 模態視窗 176 string js = @"<script language=javascript> 177 showModalDialog('" + webFormUrl + "','','" + features + "');</script>"; 178 return js; 179 #endregion 180 } 181 #endregion 182 183 #region 新版本 184 /// <summary> 185 /// 彈出JavaScript小視窗 186 /// </summary> 187 /// <param name="message">視窗資訊</param> 188 /// <param name="page">Page類的例項</param> 189 public static void Alert(string message, Page page) 190 { 191 #region 192 string js = @"<Script language='JavaScript'> 193 alert('" + message + "');</Script>"; 194 if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "alert")) 195 { 196 page.ClientScript.RegisterStartupScript(page.GetType(), "alert", js); 197 } 198 #endregion 199 } 200 201 /// <summary> 202 /// 彈出訊息框並且轉向到新的URL 203 /// </summary> 204 /// <param name="message">訊息內容</param> 205 /// <param name="toURL">連線地址</param> 206 /// <param name="page">Page類的例項</param> 207 public static void AlertAndRedirect(string message, string toURL, Page page) 208 { 209 #region 210 string js = "<script language=javascript>alert('{0}');window.location.replace('{1}')</script>"; 211 if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "AlertAndRedirect")) 212 { 213 page.ClientScript.RegisterStartupScript(page.GetType(), "AlertAndRedirect", string.Format(js, message, toURL)); 214 } 215 #endregion 216 } 217 218 /// <summary> 219 /// 回到歷史頁面 220 /// </summary> 221 /// <param name="value">-1/1</param> 222 /// <param name="page">Page類的例項</param> 223 public static void GoHistory(int value, Page page) 224 { 225 #region 226 string js = @"<Script language='JavaScript'> 227 history.go({0}); 228 </Script>"; 229 if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "GoHistory")) 230 { 231 page.ClientScript.RegisterStartupScript(page.GetType(), "GoHistory", string.Format(js, value)); 232 } 233 #endregion 234 } 235 236 /// <summary> 237 /// 重新整理父視窗 238 /// </summary> 239 /// <param name="url">要重新整理的url</param> 240 /// <param name="page">Page類的例項</param> 241 public static void RefreshParent(string url, Page page) 242 { 243 #region 244 string js = @"<Script language='JavaScript'> 245 window.opener.location.href='" + url + "';window.close();</Script>"; 246 //HttpContext.Current.Response.Write(js); 247 if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "RefreshParent")) 248 { 249 page.ClientScript.RegisterStartupScript(page.GetType(), "RefreshParent", js); 250 } 251 #endregion 252 } 253 254 255 /// <summary> 256 /// 重新整理開啟視窗 257 /// </summary> 258 /// <param name="page">Page類的例項</param> 259 public static void RefreshOpener(Page page) 260 { 261 #region 262 string js = @"<Script language='JavaScript'> 263 opener.location.reload(); 264 </Script>"; 265 //HttpContext.Current.Response.Write(js); 266 if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "RefreshOpener")) 267 { 268 page.ClientScript.RegisterStartupScript(page.GetType(), "RefreshOpener", js); 269 } 270 #endregion 271 } 272 273 274 /// <summary> 275 /// 開啟指定大小的新窗體 276 /// </summary> 277 /// <param name="url">地址</param> 278 /// <param name="width"></param> 279 /// <param name="heigth"></param> 280 /// <param name="top">頭位置</param> 281 /// <param name="left">左位置</param> 282 /// <param name="page">Page類的例項</param> 283 public static void OpenWebFormSize(string url, int width, int heigth, int top, int left, Page page) 284 { 285 #region 286 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>"; 287 //HttpContext.Current.Response.Write(js); 288 if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "OpenWebFormSize")) 289 { 290 page.ClientScript.RegisterStartupScript(page.GetType(), "OpenWebFormSize", js); 291 } 292 #endregion 293 } 294 295 296 /// <summary> 297 /// 轉向Url制定的頁面 298 /// </summary> 299 /// <param name="url">連線地址</param> 300 /// <param name="page">Page類的例項</param> 301 public static void JavaScriptLocationHref(string url, Page page) 302 { 303 #region 304 string js = @"<Script language='JavaScript'> 305 window.location.replace('{0}'); 306 </Script>"; 307 js = string.Format(js, url); 308 if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "JavaScriptLocationHref")) 309 { 310 page.ClientScript.RegisterStartupScript(page.GetType(), "JavaScriptLocationHref", js); 311 } 312 #endregion 313 } 314 315 /// <summary> 316 /// 開啟指定大小位置的模式對話方塊 317 /// </summary> 318 /// <param name="webFormUrl">連線地址</param> 319 /// <param name="width"></param> 320 /// <param name="height"></param> 321 /// <param name="top">距離上位置</param> 322 /// <param name="left">距離左位置</param> 323 /// <param name="page">Page類的例項</param> 324 public static void ShowModalDialogWindow(string webFormUrl, int width, int height, int top, int left, Page page) 325 { 326 #region 327 string features = "dialogWidth:" + width.ToString() + "px" 328 + ";dialogHeight:" + height.ToString() + "px" 329 + ";dialogLeft:" + left.ToString() + "px" 330 + ";dialogTop:" + top.ToString() + "px" 331 + ";center:yes;help=no;resizable:no;status:no;scroll=yes"; 332 ShowModalDialogWindow(webFormUrl, features, page); 333 #endregion 334 } 335 /// <summary> 336 /// 彈出模態視窗 337 /// </summary> 338 /// <param name="webFormUrl"></param> 339 /// <param name="features"></param> 340 /// <param name="page">Page類的例項</param> 341 public static void ShowModalDialogWindow(string webFormUrl, string features, Page page) 342 { 343 string js = ShowModalDialogJavascript(webFormUrl, features); 344 if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "ShowModalDialogWindow")) 345 { 346 page.ClientScript.RegisterStartupScript(page.GetType(), "ShowModalDialogWindow", js); 347 } 348 } 349 /// <summary> 350 /// 向當前頁面動態輸出客戶端指令碼程式碼 351 /// </summary> 352 /// <param name="javascript">javascript指令碼段</param> 353 /// <param name="page">Page類的例項</param> 354 /// <param name="afterForm">是否緊跟在&lt;form&gt;標記之後輸出javascript指令碼,如果不是則在&lt;/form&gt;標記之前輸出指令碼程式碼</param> 355 public static void AppendScript(string javascript, Page page, bool afterForm) 356 { 357 if (afterForm) 358 { 359 page.ClientScript.RegisterClientScriptBlock(page.GetType(), page.ToString(), javascript); 360 } 361 else 362 { 363 page.ClientScript.RegisterStartupScript(page.GetType(), page.ToString(),javascript); 364 } 365 } 366 #endregion 367 } 368 }

相關推薦

C#公共幫助 WebHelper幫助

1 using System; 2 using System.Data; 3 using System.Configuration; 4 using System.Web; 5 using System.Web.Security; 6 using System.Web.U

C#多執行緒1.Thread的使用及注意要點

Thread隨便講講   因為在C#中,Thread類在我們的新業務上並不常用了(因為建立一個新執行緒要比直接從執行緒池拿執行緒更加耗費資源),並且在.NET4.0後新增了Task類即Async與await關鍵字,使得我們基本不再用Thread了,不過在學習多執行緒前,有必要先了解下Thread類,這裡就先隨

C#公共幫助給大家分享一些加密演算法 (DES、HashCode、RSA、AES等)

AES       高階加密標準(英語:Advanced Encryption Standard,縮寫:AES),在密碼學中又稱Rijndael加密法,是美國聯邦政府採用的一種區塊加密標準。這個標準用來替代原先的DES,已經被多方分析且廣為全世界所使用。AES先進加密演算法是一向被認為牢不可破的加密演算法,

C#公共幫助 Log4net 幫助

1 using log4net.Core; 2 using System; 3 using System.Collections.Generic; 4 using System.Linq; 5 using System.Reflection; 6 using System

C#公共幫助分頁邏輯處理

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace Common 7 { 8 ///

C#公共幫助JsonHelper 操作幫助, 以後再也不用滿地找Json了,拿來直接用

using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Linq; using System.Web.Script.Serialization; usi

C#公共幫助列舉獨特

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.ComponentModel; 6 7 nam

C#公共幫助 ToolsHelper幫助

1 using System; 2 using System.Text; 3 using System.Text.RegularExpressions; 4 using System.Collections.Generic; 5 using System.Reflection;

C#復習總結匿名型由來

數據類型 over 無效 訪問性 屬性。 知乎 私有 不能 默認構造函數 1 屬性 這得先從屬性開始說,為什麽外部代碼訪問對象內部的數據用屬性而不是直接訪問呢,這樣豈不是更方便一些,但是事實證明直接訪問是不安全的。那麽,Anders Hejlsberg(安德斯&mid

C++/數據結構單鏈表的基本操作

clear default als troy pub 插入 else fonts pac #pragma once #ifndef _CLIST_H_ #define _CLIST_H_ #include <iostream> #include <

HTTP模擬工具C#/Winform源碼、Json綁定TreeView控件、使用了MetroModernUI、RestSharp、Dapper.Net、Newtonsoft.Json、SmartThreadPool這幾個主要開源框架

type form num -m 請求 resource dap bool dev HTTP模擬工具 開發語言:C#/Winform開發工具:Visual Studio 2017數據庫: SQLite使用框架:界面-MetroModernUI

Spring(三)--AOP面向切面編程、通知型及使用、切入點表達式

1.3 一聲 重復 信息 術語 臃腫 lib pac fin 1.概念:Aspect Oriented Programming 面向切面編程 在方法的前後添加方法 2.作用:本質上來說是一種簡化代碼的方式 繼承機制 封裝方法 動態代理

C++探索之旅第二部分第一課:面向對象初探,string的驚天內幕

信息技術 false cli 方法 復雜 weixin include 命令 就是 內容簡單介紹 1、第二部分第一課:面向對象初探。string的驚天內幕 2

C#學習之路001.基本操作

arp main cti 字符 thread 程序 AI 報錯 float 001【HelloWorld】分析代碼塊 //這裏是註釋 下面是引入命名空間 using System; using System.Collections.Generic; using Syst

將文件拖曳到窗體上, 並獲取其完整路徑 C++ Builder下實現

pat ext stc fff led CP tle 聲明 net 1. 在窗體的頭文件.h裏聲明處理函數和消息映射, 如: [cpp] view plain copy class TForm1 : public TForm {

C#復習總結細說委托

protected 希望 百度百科 內存 sting lin baidu 調用約定 multicast 1 前言 前幾天看到博客園一個前輩寫了一篇文章用“五分鐘重溫委托,匿名方法,Lambda,泛型委托,表達式樹”,文章寫的非常好,推薦閱讀一下,正

C#復習總結細說匿名方法

target [] targe left 沒有 如果 連接 program ont 1 前言 本系列會將【委托】 【匿名方法】【Lambda表達式】 【泛型委托】 【表達式樹】 【事件】等基礎知識總結一下。(本人小白一枚,有錯誤的地方希望大佬指正) 系類1:細說委托

C#復習總結細說泛型委托

聲明 sys red 合成 delegate -s 返回 line ron 1 前言 本系列會將【委托】 【匿名方法】【Lambda表達式】 【泛型委托】 【表達式樹】 【事件】等基礎知識總結一下。(本人小白一枚,有錯誤的地方希望大佬指正) 系類1:細說委托 系類2:

面試算法題Java Stack 的使用

obj har turn cte charat arch 默認 子類 size Java Stack 類棧是Vector的一個子類,它實現了一個標準的後進先出的棧。堆棧只定義了默認構造函數,用來創建一個空棧。 常用方法1 boolean empty() 測試堆棧是否為空

C陷阱與缺陷邊界計算與不對稱邊界

前言 本文與為什麼C語言從0開始編號搭配實用更佳。 如有不足還請指正! 正文 如果一個數組有10個元素,那麼這個陣列下表的允許取值範圍是什麼呢? 下面程式碼1,這段程式碼的執行結果是什麼?為什麼? #include <stdio.h&g