我试图在按钮点击时显示加载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服务器,以便我也可以通过代码更改其可见性。
答案 0 :(得分:3)
将onClientClick
用于asp按钮。然后创建你称之为BtnSend_Click
如果您想通过客户端进行此操作:
的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
控件,听起来很符合你的需要。