|zyciis| CSDN的发布贴子的按钮,只点后变灰,这个设计是怎么设计的,因为我做的经常会出现异常 如页面没有反应
CSDN,这个不会出错
我原来的就添加onclientclick的时候给他变灰
但验证不过
后来加上if(pagevalid??反正这里是验证是否通过) 再变灰,
但还是有时候没有反应 一直查不到原因
但CSDN这个好像不会出错
他的设计思想是怎样的
谢谢
[解决办法]
谁说不会出错?我这边网速慢就天天错~
JS做的变灰不可见吧~
[解决办法]
用AJAX控件了吧。
[解决办法]
csdn这个变灰后,点了好像一样可以提交-_-!
[解决办法]
正常的.灰着的时候应该就不能点才对.
直接用js脚本控制即可.
[解决办法]
一般是这个步骤:
提交
变灰
回调
成功或失败都变回来
[解决办法]
<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>
[解决办法]
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;
[解决办法]