ASP.NET按钮单击显示div

时间:2013-07-22 20:29:01

标签: c# javascript asp.net html

我试图在按钮点击时显示加载div,但此刻它不起作用。

Javascript:

<script type="text/javascript">
        $(document).ready(function (e) {      
            $('#BtnSend').click(function () {
                $('#<%= loading.ClientID %>').toggle("slow");
            });
        });
    </script>

股利:

<div id="loading" class="Loading" runat="server" visible="false">
  <div class="loadingImg">
    <img src="../Images/loading.gif" alt="loading" />
    </div>
  </div>

按钮:

<asp:Button ID="BtnSend" runat="server" Text="SEND" 
            onclick="BtnSend_Click" CssClass="pressbutton2" Height="36px" ClientIDMode="Static" />

将div设置为runat服务器,以便我也可以通过代码更改其可见性。

3 个答案:

答案 0 :(得分:3)

onClientClick用于asp按钮。然后创建你称之为BtnSend_Click

的jquery函数

如果您想通过客户端进行此操作:

的jQuery

function BtnSend_Click () {
     $('#<%= loading.ClientID %>').toggle("slow");
}

ASP按钮

<asp:Button ID="BtnSend" runat="server" Text="SEND" 
            onClientClick="BtnSend_Click" CssClass="pressbutton2" Height="36px" ClientIDMode="Static" />

如果您想通过服务器执行此操作:

C#

protected void BtnSend_Click(object sender, EventArgs e){
     loading.Visibility = 'visible' //not sure on syntax to show it in code behind off the top my head
}

ASP按钮

<asp:Button ID="BtnSend" runat="server" Text="SEND" 
            onClick="BtnSend_Click" CssClass="pressbutton2" Height="36px" ClientIDMode="Static" />

答案 1 :(得分:0)

我尝试添加一个防止默认值,因为下面描述的代码会在加载div显示之前回发。

<script type="text/javascript">
    $(document).ready(function (e) {      
        $('#<%= BtnSend.ClientID %>').click(function (e) {
            e.preventDefault();
            $('#<%= loading.ClientID %>').toggle("slow");
        });
    });
</script>

我注意到的另一件事是你设置了Visible="false"

<div id="loading" class="Loading" runat="server" visible="false">

这意味着div不存在,因为它不是从服务器端输出的。在页面加载时查看视图源,它不会在那里并隐藏,它只是不在那里。删除visible="false"并使用CSS隐藏它以开始。

答案 2 :(得分:0)

ASP.Net AJAX库有一个UpdateProgress控件,听起来很符合你的需要。