有一个主页面, MainPage, 上面有一个WebUserControl, WebUserControl上有一个Refresh Button和一个Loading Label(一开始不可见)当RefreshButton按下去的时候, MainPage去后台拿数据, 而在这个等待过程中我想把LoadingLabel显示出来告诉用户当前页面正在提交数据, 用JavaScript如何做到呢?谢谢

解决方案 »

  1.   

    document.getelementbyid("lblid").style.display   =   "none";
      

  2.   

    function show()
    {
    var lb=document.getElementById("<%=LoadingLabel.ClientID%>");
    lb.style.display="block";
    }
      

  3.   

    有Error<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs"
        Inherits="WebUserControl" %>
    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
    <script language="javascript" type="text/javascript">
        function hide(){
            alert("hide");
            try{
                var img=document.getElementById("<%=img.ClientID %>");
                img.style.display="none";
            }catch(Error)
            {
                alert(Error);
            }
        }
        
        function show(){
            alert("show");
            var img=document.getElementById("<%=img.ClientID %>");
            img.style.display="block";
        }
    </script>
    <table>
        <tr>
            <td>
                <asp:Button ID="btn_Refresh" runat="server" Text="Refresh" OnClick="btn_Refresh_OnClick" />
                <asp:ImageButton ID="img" ImageUrl="images/icon_animated4.gif" runat="server" Visible="false" />
                <asp:Button ID="btn_Dummy" runat="server" Text="Dummy" OnClick="btn_Dummy_OnClick" Visible="false" />
            </td>
        </tr>
        <ajaxToolkit:AnimationExtender ID="refreshAnimate" TargetControlID="btn_Refresh"
            runat="server">
            <Animations>
                <OnClick>
                    <Sequence>
                        <EnableAction Enabled="false" />
                        <ScriptAction Script="hide();" />
                    </Sequence>
                </OnClick>
            </Animations>
        </ajaxToolkit:AnimationExtender>
        <ajaxToolkit:AnimationExtender ID="dummyAnimate" TargetControlID="btn_Dummy" runat="server">
            <Animations>
                <OnClick>
                    <Sequence>
                        <EnableAction AnimationTarget="btn_Refresh" Enabled="true" />
                        <ScriptAction Script="show();" />
                    </Sequence>
                </OnClick>
            </Animations>
        </ajaxToolkit:AnimationExtender>
    </table>
      

  4.   

    当RefreshButton按下去的时候, 先是弹出"hide", 然后弹出catch到的"object error"为什么那个img是null呢? 难道是因为它是在WebUserControl, 结果MainPage检测不到它的存在?
      

  5.   

    影藏document.getElementById("YourLabelID").style.display  =  "none";
    显示document.getElementById("YourLabelID").style.display  =  "block";
      

  6.   

    document.getelementbyid("lblid").style.display  =  "none";
      

  7.   

    Visible="false"报错是这个原因吧.你把Visible="true"看看.
    如过可以
     <asp:ImageButton ID="img" ImageUrl="images/icon_animated4.gif" runat="server" style="width:0px" /> 
      

  8.   

    style.display = "none" 就不可见了..
      

  9.   

    to antiKing去掉Visible="false"也不行