页面部分代码:
<
html
>
< head runat ="server" >
< script language ="javascript" >
function EventGet(obj)
{
obj.disabled = " disabled " ;
__doPostBack(obj.id, "" );
return false ;
}
</ script >
</ head >
< body >
< form id ="form1" runat ="server" >
< asp:Button ID ="btn_submit" runat ="server" OnClick ="btn_submit_Click" OnClientClick ="return EventGet(this);" Text ="Submit" />
</ form >
</ body >
</ html >
< head runat ="server" >
< script language ="javascript" >
function EventGet(obj)
{
obj.disabled = " disabled " ;
__doPostBack(obj.id, "" );
return false ;
}
</ script >
</ head >
< body >
< form id ="form1" runat ="server" >
< asp:Button ID ="btn_submit" runat ="server" OnClick ="btn_submit_Click" OnClientClick ="return EventGet(this);" Text ="Submit" />
</ form >
</ body >
</ html >
服务器端代码:
public
partial
class
test : System.Web.UI.Page
{
protected void Page_Load( object sender, EventArgs e)
{
ClientScript.GetPostBackEventReference(btn_submit, "" );
}
protected void btn_submit_Click( object sender, EventArgs e)
{
int i = System.Environment.TickCount / 1000 ;
while (System.Environment.TickCount / 1000 - i < 3 )
{
}
btn_submit.Text = i.ToString();
}
}
{
protected void Page_Load( object sender, EventArgs e)
{
ClientScript.GetPostBackEventReference(btn_submit, "" );
}
protected void btn_submit_Click( object sender, EventArgs e)
{
int i = System.Environment.TickCount / 1000 ;
while (System.Environment.TickCount / 1000 - i < 3 )
{
}
btn_submit.Text = i.ToString();
}
}
其中while部分仅为演示按钮变灰的状态。
最终效果。
单击按钮后页面进行服务器端的代码处理,同时整个过程按钮程灰色不可用状态。
待服务器脚本执行完成后,按钮重新可用。