在開發中老是寫些 ScriptManager.RegisterClientScriptBlock方法太煩人了,於是就寫了一個方法,直接調用就可以了,參考了別人代碼,只是稍微改了一下。如果想用只要建立一個類後,再在裡面加入下面的方法就可以了。
Code
1 /**//// <summary>
2 /// 提示資訊
3 /// </summary>
4 /// <param name="strMsg">資訊內容</param>
5 /// <param name="actionType">顯示資訊後執行的操作:back為後退,close為關閉,空值僅顯示提示,self重定位當前頁面,或者轉向目標地址</param>
6 /// <returns>格式化後的指令碼字串</returns>
7 public static string MessageBoxString(string strMsg, string actionType)
8 {
9 string js = string.Empty;
10
11 if (!string.IsNullOrEmpty(actionType))
12 {
13 actionType = actionType.ToLower();
14 switch (actionType)
15 {
16 case "back":
17 js = @"history.go(-1);";
18 break;
19 case "close":
20 js = @"window.close();";
21 break;
22 case "self":
23 js = @"location.replace(location.href)";//執行後無後退 前進
24 break;
25 default:
26 js = string.Format("window.location.href=\"{0}\";", actionType);//執行後有後退、前進
27 break;
28 }
29 }
30
31 if (!string.IsNullOrEmpty(strMsg))
32 js = string.Format(@"alert('{0}');{1}", strMsg, js);
33 return js;
34 }
35 /**//// <summary>
36 /// 提示資訊
37 /// </summary>
38 /// <param name="strMsg">資訊內容</param>
39 /// <param name="actionType">顯示資訊後執行的操作:back為後退,close為關閉,空值僅顯示提示,self重定位當前頁面,或者轉向目標地址</param>
40 /// <param name="page">註冊指令碼的頁面</param>
41 /// <param name="boxkey">頁面基本的key值</param>
42 public static void MessageBoxShow(string strMsg, string actionType,Page page,string boxkey)
43 {
44 string str = MessageBoxString(strMsg, actionType);
45 if (string.IsNullOrEmpty(boxkey))
46 {
47 ScriptManager.RegisterClientScriptBlock(page, page.GetType(), "MessageBox", str, true);
48 }
49 else
50 {
51 ScriptManager.RegisterClientScriptBlock(page, page.GetType(), boxkey, str, true);
52 }
53 }
這是小菜第一次寫東西,請大家不要扔磚頭。