Common下MessageBox.cs

本文介绍了一种在 ASP.NET 应用中实现消息提示、确认对话框及页面跳转的方法。通过简单的代码示例展示了如何利用 ClientScript 对象注册 JavaScript 脚本来实现这些功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using System;
using System.Text;
namespace Common
{
 /// <summary>
 /// 显示消息提示对话框。
 /// </summary>
 public class MessageBox
 {  
  private  MessageBox()
  {   
  }

  /// <summary>
  /// 显示消息提示对话框
  /// </summary>
  /// <param name="page">当前页面指针,一般为this</param>
  /// <param name="msg">提示信息</param>
  public static void  Show(System.Web.UI.Page page,string msg)
  {           
            page.ClientScript.RegisterStartupScript(page.GetType(),"message", "<script language='javascript' defer>alert('" + msg.ToString() + "');</script>");
  }

  /// <summary>
  /// 控件点击 消息确认提示框
  /// </summary>
  /// <param name="page">当前页面指针,一般为this</param>
  /// <param name="msg">提示信息</param>
  public static void  ShowConfirm(System.Web.UI.WebControls.WebControl Control,string msg)
  {
   //Control.Attributes.Add("onClick","if (!window.confirm('"+msg+"')){return false;}");
   Control.Attributes.Add("onclick", "return confirm('" + msg + "');") ;
  }

  /// <summary>
  /// 显示消息提示对话框,并进行页面跳转
  /// </summary>
  /// <param name="page">当前页面指针,一般为this</param>
  /// <param name="msg">提示信息</param>
  /// <param name="url">跳转的目标URL</param>
  public static void ShowAndRedirect(System.Web.UI.Page page,string msg,string url)
  {   
            page.ClientScript.RegisterStartupScript(page.GetType(), "message", "<script language='javascript' defer>alert('" + msg + "');window.location=/"" + url + "/"</script>");


  }
        /// <summary>
        /// 显示消息提示对话框,并进行页面跳转
        /// </summary>
        /// <param name="page">当前页面指针,一般为this</param>
        /// <param name="msg">提示信息</param>
        /// <param name="url">跳转的目标URL</param>
        public static void ShowAndRedirects(System.Web.UI.Page page, string msg, string url)
        {
            StringBuilder Builder = new StringBuilder();
            Builder.Append("<script language='javascript' defer>");
            Builder.AppendFormat("alert('{0}');", msg);
            Builder.AppendFormat("location.href='{0}'", url);
            Builder.Append("</script>");
            page.ClientScript.RegisterStartupScript(page.GetType(), "message", Builder.ToString());

        }

  /// <summary>
  /// 输出自定义脚本信息
  /// </summary>
  /// <param name="page">当前页面指针,一般为this</param>
  /// <param name="script">输出脚本</param>
  public static void ResponseScript(System.Web.UI.Page page,string script)
  {
            page.ClientScript.RegisterStartupScript(page.GetType(), "message", "<script language='javascript' defer>" + script + "</script>");
            
  }


 }
}

using System; using System.Windows; using BMWtechinfo.Views; using System.Threading.Tasks; using GeneralUpdate.ClientCore; using GeneralUpdate.Common.Internal.Bootstrap; using GeneralUpdate.Common.Shared.Object; using System.Text; using System.Threading; using GeneralUpdate.Common.Download; using GeneralUpdate.Common.Internal; using System.Net.Http; namespace BMWtechinfo { public class CheckUpdates { public async Task CheckAndApplyUpdatesAsync() { try { Console.WriteLine($"主程序初始化,{DateTime.Now}!"); Console.WriteLine("当前运行目录:" + Thread.GetDomain().BaseDirectory); // Get update URLs from environment variables or use defaults string reportUrl = Environment.GetEnvironmentVariable("UPDATE_REPORT_URL") ?? "http://127.0.0.1:5000/Upgrade/Report"; string updateUrl = Environment.GetEnvironmentVariable("UPDATE_VERIFY_URL") ?? "http://127.0.0.1:5000/Upgrade/Verification"; var configinfo = new Configinfo { ReportUrl = reportUrl, UpdateUrl = updateUrl, AppName = "AutoUpdate.exe", MainAppName = "BMWtechinfo.exe", InstallPath = Thread.GetDomain().BaseDirectory, ClientVersion = "1.0.0.1", UpgradeClientVersion ="1.0.0.0", ProductId = "2d974e2a-31e6-4887-9bb1-b4689e98c77a", AppSecretKey = "dfeb5833-975e-4afb-88f1-6278ee9aeff6" }; await new GeneralClientBootstrap() //单个或多个更新包下载通知事件 //单个或多个更新包下载速度、剩余下载事件、当前下载版本信息通知事件 .AddListenerMultiDownloadStatistics(OnMultiDownloadStatistics) //单个或多个更新包下载完成 .AddListenerMultiDownloadCompleted(OnMultiDownloadCompleted) //完成所有的下载任务通知 .AddListenerMultiAllDownloadCompleted(OnMultiAllDownloadCompleted) //下载过程出现的异常通知 .AddListenerMultiDownloadError(OnMultiDownloadError) //整个更新过程出现的任何问题都会通过这个事件通知 .AddListenerException(OnException) .SetConfig(configinfo) .Option(UpdateOption.DownloadTimeOut, 60) .LaunchAsync(); await Task.Delay(2000); } catch (Exception ex) { MessageBox.Show($"更新检查失败: {ex.Message}", "更新错误", MessageBoxButton.OK, MessageBoxImage.Error); } } void OnMultiDownloadError(object arg1, MultiDownloadErrorEventArgs arg2) { var version = arg2.Version as VersionInfo; Console.WriteLine($"{version.Version} {arg2.Exception}"); } void OnMultiAllDownloadCompleted(object arg1, MultiAllDownloadCompletedEventArgs arg2) { Console.WriteLine(arg2.IsAllDownloadCompleted ? "所有的下载任务已完成!" : $"下载任务已失败!{arg2.FailedVersions.Count}"); } void OnMultiDownloadCompleted(object arg1, MultiDownloadCompletedEventArgs arg2) { var version = arg2.Version as VersionInfo; Console.WriteLine(arg2.IsComplated ? $"当前下载版本:{version.Version}, 下载完成!" : $"当前下载版本:{version.Version}, 下载失败!"); } void OnMultiDownloadStatistics(object arg1, MultiDownloadStatisticsEventArgs arg2) { var version = arg2.Version as VersionInfo; Console.WriteLine("版本比较 - 本地版本: 1.0.0.1, 服务器版本将通过API返回"); Console.WriteLine( $"当前下载版本:{version.Version},下载速度:{arg2.Speed},剩余下载时间:{arg2.Remaining},已下载大小:{arg2.BytesReceived},总大小:{arg2.TotalBytesToReceive}, 进度百分比:{arg2.ProgressPercentage}%"); } void OnException(object arg1, ExceptionEventArgs arg2) { Console.WriteLine($"{arg2.Exception}"); } } } 帮我看看我要加入UI,还有现在每次打开都会自动更新,
05-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值