在按钮点击后禁用它直到操作完成
好久没有写东西了,今天将以前给同事写的一段代码改了一下共享出来。这段代码用于实现在点击按钮后禁用它直到操作完成。有更好的方法大家可以讨论!
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load (object sender, EventArgs e)
{
btn.Attributes.Add ("onclick",
Page.GetPostBackEventReference (btn, "") +
";this.value='Submitting';this.disabled = true;");
lbtn.Attributes.Add ("onclick",
"this.innerText='Submitting';this.disabled = true;");
ibtn.Attributes.Add ("onclick",
Page.GetPostBackEventReference (ibtn, "") +
";this.alt='Submitting';this.disabled = true;");
//
// ASP.NET 2.0 above
//
//btn.Attributes.Add ("onclick",
// ClientScript.GetPostBackEventReference (btn, "") +
// ";this.value='Submitting';this.disabled = true;");
//lbtn.Attributes.Add ("onclick",
// "this.innerText='Submitting';this.disabled = true;");
//ibtn.Attributes.Add ("onclick",
// ClientScript.GetPostBackEventReference (ibtn, "") +
// ";this.alt='Submitting';this.disabled = true;");
//
// OR
//
//btn.OnClientClick =
// ClientScript.GetPostBackEventReference (btn, "") +
// ";this.value='Submitting';this.disabled = true;";
//lbtn.OnClientClick = "this.innerText='Submitting';this.disabled = true;";
//ibtn.OnClientClick = ClientScript.GetPostBackEventReference (ibtn, "") +
// ";this.alt='Submitting';this.disabled = true;";
}
protected void btn_Click (object sender, EventArgs e)
{
System.Threading.Thread.Sleep (2000);
Label1.Text = DateTime.Now.ToString ();
}
protected void lbtn_Click (object sender, EventArgs e)
{
LinkButtonClickCount++;
System.Threading.Thread.Sleep (2000);
Label1.Text = "link button:" + DateTime.Now.ToString ()
+ "<br/>count:" + LinkButtonClickCount.ToString ();
}
protected void ibtn_Click (object sender, ImageClickEventArgs e)
{
ImageButtonClickCount++;
System.Threading.Thread.Sleep (2000);
Label1.Text = "image button:" + DateTime.Now.ToString ()
+ "<br/>count:" + ImageButtonClickCount.ToString ();
}
int LinkButtonClickCount
{
get
{
object tmp = ViewState["LinkButtonClickCount"];
return (tmp == null) ? 0 : (int)tmp;
}
set { ViewState["LinkButtonClickCount"] = value; }
}
int ImageButtonClickCount
{
get
{
object tmp = ViewState["ImageButtonClickCount"];
return (tmp == null) ? 0 : (int)tmp;
}
set { ViewState["ImageButtonClickCount"] = value; }
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="btn" runat="server" Text="What time is it, please!"
OnClick="btn_Click" />
<asp:LinkButton ID="lbtn" runat="server" OnClick="lbtn_Click">
What time is it, please!</asp:LinkButton>
<asp:ImageButton ID="ibtn" runat="server"
AlternateText="What time is it, please!"
Height="30px" OnClick="ibtn_Click"
ImageUrl="http://www.ikea.com/ms/img/menu/products/32x32/clocks_32x32.gif"
/>
<br />
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</div>
</form>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load (object sender, EventArgs e)
{
btn.Attributes.Add ("onclick",
Page.GetPostBackEventReference (btn, "") +
";this.value='Submitting';this.disabled = true;");
lbtn.Attributes.Add ("onclick",
"this.innerText='Submitting';this.disabled = true;");
ibtn.Attributes.Add ("onclick",
Page.GetPostBackEventReference (ibtn, "") +
";this.alt='Submitting';this.disabled = true;");
//
// ASP.NET 2.0 above
//
//btn.Attributes.Add ("onclick",
// ClientScript.GetPostBackEventReference (btn, "") +
// ";this.value='Submitting';this.disabled = true;");
//lbtn.Attributes.Add ("onclick",
// "this.innerText='Submitting';this.disabled = true;");
//ibtn.Attributes.Add ("onclick",
// ClientScript.GetPostBackEventReference (ibtn, "") +
// ";this.alt='Submitting';this.disabled = true;");
//
// OR
//
//btn.OnClientClick =
// ClientScript.GetPostBackEventReference (btn, "") +
// ";this.value='Submitting';this.disabled = true;";
//lbtn.OnClientClick = "this.innerText='Submitting';this.disabled = true;";
//ibtn.OnClientClick = ClientScript.GetPostBackEventReference (ibtn, "") +
// ";this.alt='Submitting';this.disabled = true;";
}
protected void btn_Click (object sender, EventArgs e)
{
System.Threading.Thread.Sleep (2000);
Label1.Text = DateTime.Now.ToString ();
}
protected void lbtn_Click (object sender, EventArgs e)
{
LinkButtonClickCount++;
System.Threading.Thread.Sleep (2000);
Label1.Text = "link button:" + DateTime.Now.ToString ()
+ "<br/>count:" + LinkButtonClickCount.ToString ();
}
protected void ibtn_Click (object sender, ImageClickEventArgs e)
{
ImageButtonClickCount++;
System.Threading.Thread.Sleep (2000);
Label1.Text = "image button:" + DateTime.Now.ToString ()
+ "<br/>count:" + ImageButtonClickCount.ToString ();
}
int LinkButtonClickCount
{
get
{
object tmp = ViewState["LinkButtonClickCount"];
return (tmp == null) ? 0 : (int)tmp;
}
set { ViewState["LinkButtonClickCount"] = value; }
}
int ImageButtonClickCount
{
get
{
object tmp = ViewState["ImageButtonClickCount"];
return (tmp == null) ? 0 : (int)tmp;
}
set { ViewState["ImageButtonClickCount"] = value; }
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="btn" runat="server" Text="What time is it, please!"
OnClick="btn_Click" />
<asp:LinkButton ID="lbtn" runat="server" OnClick="lbtn_Click">
What time is it, please!</asp:LinkButton>
<asp:ImageButton ID="ibtn" runat="server"
AlternateText="What time is it, please!"
Height="30px" OnClick="ibtn_Click"
ImageUrl="http://www.ikea.com/ms/img/menu/products/32x32/clocks_32x32.gif"
/>
<br />
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</div>
</form>
</body>
</html>
posted on 2007-11-07 11:35 Easy Company 阅读(1057) 评论(0) 编辑 收藏 举报