当前位置: 代码迷 >> ASP.NET >> |zyciis| CSDN的发布贴子的按钮,只点后变灰,这个设计是如何设计的,因为小弟我做的经常会出现错误 如页面没有反应
  详细解决方案

|zyciis| CSDN的发布贴子的按钮,只点后变灰,这个设计是如何设计的,因为小弟我做的经常会出现错误 如页面没有反应

热度:7853   发布时间:2013-02-25 00:00:00.0
|zyciis| CSDN的发布贴子的按钮,只点后变灰,这个设计是怎么设计的,因为我做的经常会出现异常 如页面没有反应
CSDN,这个不会出错
我原来的就添加onclientclick的时候给他变灰
但验证不过
后来加上if(pagevalid??反正这里是验证是否通过) 再变灰,
但还是有时候没有反应 一直查不到原因

但CSDN这个好像不会出错
他的设计思想是怎样的

谢谢

------解决方案--------------------------------------------------------
谁说不会出错?我这边网速慢就天天错~

JS做的变灰不可见吧~
------解决方案--------------------------------------------------------
用AJAX控件了吧。
------解决方案--------------------------------------------------------
csdn这个变灰后,点了好像一样可以提交-_-!

------解决方案--------------------------------------------------------
正常的.灰着的时候应该就不能点才对.

直接用js脚本控制即可.
------解决方案--------------------------------------------------------
一般是这个步骤:

提交
变灰
回调
成功或失败都变回来
------解决方案--------------------------------------------------------
探讨
一般是这个步骤:

提交
变灰
回调
成功或失败都变回来

------解决方案--------------------------------------------------------
破CSDN。。。还天天用AJAX。。用的我天天好友那里都有个(1)
------解决方案--------------------------------------------------------
探讨
破CSDN。。。还天天用AJAX。。用的我天天好友那里都有个(1)

------解决方案--------------------------------------------------------
点击 
验证是否控件验证通过 
将控件变灰 完 后面的就是自动提交 

但是页面有时候点击了,验证通过了,也变灰了,但是页面就是没有反应 
找不到原因 闷 
================
那要看你具体代码怎么实现的了.

一般都是客户端做.
点击
变灰
验证(可能有客户端的,可能会有服务器端的)
验证失败了直接返回,不提交,按钮恢复
验证成功通过,就提交
------解决方案--------------------------------------------------------
探讨
破CSDN。。。还天天用AJAX。。用的我天天好友那里都有个(1)

------解决方案--------------------------------------------------------
HTML code
<asp:UpdateProgress ID="UpdateProgress1" runat="server" DisplayAfter="0" DynamicLayout="false">    <ProgressTemplate>        <span style="color:Red">Loading...</span>    </ProgressTemplate></asp:UpdateProgress><asp:UpdatePanel ID="UpdatePanel1" runat="server">    <ContentTemplate>        <%= DateTime.Now %><br />        <asp:Label ID="Label1" runat="server" Text=""></asp:Label><br />        <asp:Button ID="btnPrecedence" runat="server" Text="优先" OnClick="Button_OnClick" />        <asp:Button ID="Button2" runat="server" Text="普通" OnClick="Button_OnClick" />    </ContentTemplate></asp:UpdatePanel><script type="text/javascript" language="javascript">    var lastPostBackButtonId = null;    var btnPrecedenceId = "<%= this.btnPrecedence.ClientID %>";        Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(        function(sender, e)        {            var prm = Sys.WebForms.PageRequestManager.getInstance();            if (prm.get_isInAsyncPostBack())            {                if (lastPostBackButtonId == btnPrecedenceId)                {                    e.set_cancel(true);                                        if (e.get_postBackElement().id == btnPrecedenceId)                    {                        showMessage("不可重复发起优先的刷新。");                    }                    else                    {                        showMessage("请等待优先的刷新结束。");                    }                                        return;                }                else if (e.get_postBackElement().id == btnPrecedenceId)                {                    showMessage("发起优先的刷新,普通的刷新将被取消。");                }                else                {                    showMessage("重新发起普通的刷新,前一次提交将被取消。");                }            }                        lastPostBackButtonId = e.get_postBackElement().id;        });</script>
------解决方案--------------------------------------------------------
C# code
protected void Button_OnClick(object sender, EventArgs e)    {        Thread.Sleep(3000);        Button button = sender as Button;        this.Label1.Text = String.Format("您点击了“{0}”按钮", button.Text);    }
------解决方案--------------------------------------------------------
点按钮,变灰,ajax调用服务器端,返回
------解决方案--------------------------------------------------------
this.button1.enable=false;





//执行的代码



this.button1.enable=true;
------解决方案--------------------------------------------------------
探讨
this.button1.enable=false;


//执行的代码


this.button1.enable=true;

------解决方案--------------------------------------------------------
探讨
RE:yanrabbit163
------------------
我不要AjAx控件
我要添加这个功能主要是网速慢的时候防止用户多次提交

谢谢

------解决方案--------------------------------------------------------
点提交时再一个DIv层过上面去就不能再点了
  相关解决方案