首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

如何避免实现按钮只能点击一次的功能

2012-08-11 
如何处理实现按钮只能点击一次的功能在好多网站上看见过点击按钮后界面灰掉,处理完毕后界面才恢复正常,在a

如何处理实现按钮只能点击一次的功能
在好多网站上看见过点击按钮后界面灰掉,处理完毕后界面才恢复正常,在asp.net中如何实现这种效果,请求高手指点,或者实现相应功能也可以,我现在碰见的问题是点击一个按钮后,后台在处理事件的过程中,操作人员又点击了一次。

[解决办法]
在aspx中增加一个hiddenfield
aspx.cs中,button_clicked事件加入:
hfDisabledButton.Value = btn.ID;
在page_load中加入:
Button b = (Button)FindControl(Request["ctl00$cpMain$ctl00$hfDisabledButton"]);
if (b != null)
{
b.Enabled = false;
b.Style.Value = "color:#999999;";
}
以后再有postback事件也不会让button重新enable。

[解决办法]
看看这里吧。
http://www.cnblogs.com/Jinglecat/archive/2007/07/10/811946.html#821900
[解决办法]

探讨
this.Button1.Enabled=false;

///do somethings

this.Button1.Enabled=true;

[解决办法]
瘋了.. 我這個就是Button事件啊,你看到:"Button1.Attributes.Add("onclick", "javascript:disabledthis(this);")" 這句沒?
之所以我使用一個<a>的標記,是為了讓前端有 __doPostBack Function 的 JS,你也可以自己寫的,不過不推薦而已
[解决办法]
第二種方法,層覆蓋的形式
前端:
HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <title></title>    <script type="text/javascript">        function ScreenWaiting() {            var o;            var x, y;            x = screen.availWidth;            y = screen.availHeight;            o = document.getElementById("pWaiting");            o.style.width = x;            o.style.height = y;            o.style.visibility = "visible";            o.style.top = 0;            o.style.left = 0;            o.getFoucs;        }    </script>    <style type="text/css">        .snake        {            background: Silver;            filter: alpha(opacity=50); /*IE*/            -moz-opacity: 0.5; /*MOZ , FF*/            opacity: 0.5; /*CSS3, FF1.5*/            position: absolute;            visibility: hidden;            text-align: center;        }    </style></head><body>    <form id="form1" runat="server">    <div style="height: 300px; width: 300px; border: solid 1px blue">        <asp:Button ID="Button1" runat="server" Text="Button" />    </div>    </form>    <div id="pWaiting" class="snake">        <center>            <p>                Processing... ...            </p>        </center>    </div></body></html>
[解决办法]

那是用ajax处理的,

异步交互成功后把层去掉
[解决办法]
还是使用AJAX吧,点击一下后,使按钮不可用,当数据提交成功后恢复

热点排行