优化拓展Camstar原生弹窗提示,解决原生消息提示无效或被覆盖的场景

xiaoandx / 2024-08-28 / 原文

1. 参考代码如下

 

 1 using Camstar.WebPortal.PortalFramework;
 2 using System;
 3 using System.Web.UI;
 4 
 5 namespace Camstar.WebPortal.WebPortlets.Shopfloor
 6 {
 7     /// <summary>
 8     /// 優化拓展Camstar原生消息彈窗提示,解決原生消息提示無效或被覆蓋場景
 9     /// <para>Optimize and expand Camstar's native message pop-up prompts to solve </para>
10     /// <para>invalid or overwritten scenarios of native message prompts. Optimize the author WEI.ZHOU</para>
11     /// </summary>
12     public class ShowMessage : MatrixWebPart
13     {
14         /// <summary>
15         /// 錯誤消息提示,樣式與原生保持一致
16         /// <para>Error message prompt, style consistent with native</para>
17         /// </summary>
18         /// <param name="page">當前頁面WebPartPageBase對象</param>
19         /// <param name="message">消息提示內容</param>
20         public static void Error(WebPartPageBase page, string message)
21         {
22             ScriptManager.RegisterStartupScript(page.Form,
23                 page.Form.GetType(),
24                 Convert.ToString(DateTimeOffset.UtcNow.ToUnixTimeSeconds()),
25                 $"__page.displayStatus('{message}','Error','Error')",
26                 true);
27         }
28 
29         /// <summary>
30         /// 正確消息提示,樣式與原生保持一致
31         /// <para>Success message prompt, style consistent with native</para>
32         /// </summary>
33         /// <param name="page">當前頁面WebPartPageBase對象</param>
34         /// <param name="message">消息提示內容</param>
35         public static void Success(WebPartPageBase page, string message)
36         {
37             ScriptManager.RegisterStartupScript(page.Form,
38                 page.Form.GetType(),
39                 Convert.ToString(DateTimeOffset.UtcNow.ToUnixTimeSeconds()),
40                 $"__page.displayStatus('{message}','Success','Success')",
41                 true);
42         }
43 
44         /// <summary>
45         /// 警告消息提示,樣式與原生保持一致
46         /// <para>Warning message prompt, style consistent with native</para>
47         /// </summary>
48         /// <param name="page">當前頁面WebPartPageBase對象</param>
49         /// <param name="message">消息提示內容</param>
50         public static void Warning(WebPartPageBase page, string message)
51         {
52             ScriptManager.RegisterStartupScript(page.Form,
53                 page.Form.GetType(),
54                 Convert.ToString(DateTimeOffset.UtcNow.ToUnixTimeSeconds()),
55                 $"__page.displayStatus('{message}','Warning','Warning')",
56                 true);
57         }
58     }
59 }

 

2.使用方法

对应的VP cs代码,需要继承  MatrixWebPart 类

1 ShowMessage.Warning(Page, "我是警告消息");
2 
3 ShowMessage.Error(Page, "我是錯誤消息");
4 
5 ShowMessage.Success(Page, "我是成功消息");