版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Gary_888/article/details/78714370
HTML:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Web.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
</div>
</form>
</body>
</html>
C# :
using System;
using System.Drawing;
using System.Web.UI;
namespace Web
{
public partial class WebForm1 : System.Web.UI.Page, IPostBackEventHandler
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
var s = "if(confirm('后台已经处理了一部分计算,结果是xxxxx。要继续吗?')){0};else {1};";
ScriptManager.RegisterStartupScript(this, typeof(WebForm1), "计算中",
string.Format(s, this.ClientScript.GetPostBackEventReference(this, "继续"), this.ClientScript.GetPostBackEventReference(this, "中止")),
true);
}
public void RaisePostBackEvent(string eventArgument)
{
switch (eventArgument)
{
case "继续":
this.Button1.ForeColor = Color.Green;
break;
case "中止":
this.Button1.ForeColor = Color.Red;
break;
}
}
}
}
主要用到了IPostbakcEventHandler ,只要处理回发的控件具有 IPostbakcEventHandler 接口,就可以处理回发。