C# ASP.NET在单击按钮时显示div

C# ASP.NET在单击按钮时显示div,c#,javascript,asp.net,html,C#,Javascript,Asp.net,Html,我试图在单击按钮时显示加载div,但它目前不起作用 Javascript: <script type="text/javascript"> $(document).ready(function (e) { $('#BtnSend').click(function () { $('#<%= loading.ClientID %>').toggle("slow"); }

我试图在单击按钮时显示加载div,但它目前不起作用

Javascript:

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

$(文件).ready(函数(e){
$('#BtnSend')。单击(函数(){
$('#')。切换(“慢速”);
});
});
分区:


按钮:

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


div被设置为runat server,这样我也可以通过代码更改其可见性。

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

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

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

使用asp按钮的
onClientClick
。然后使您调用的jquery函数
BtnSend\u单击

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

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" />
<asp:Button ID="BtnSend" runat="server" Text="SEND" 
            onClick="BtnSend_Click" CssClass="pressbutton2" Height="36px" ClientIDMode="Static" />


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

它只是一个定制div的css类。但仍然不起作用。哦,我知道了,您为div创建了ClientID,但没有创建按钮!更新代码段实际上您有ClientMode static,所以可能不是这样,而是明显的错误问题。您指的是哪一个?指的是设置为static的clientID。我删除了visible=“false”和set style=“display:none;”但是当单击按钮时,div仍然没有显示。您是否考虑过使用类似jQuery的插件?您是否检查了在ASP.NET生成的HTML中,按钮是否保留了aspx文件中指定的ID?我100%确信,当按钮是自定义用户控件的一部分时,您在文件中看到的ID与在页面中看到的ID不同。注意:该ID是一个服务器控件,[通常]与ClientID不同。ClientID(也称为DOM ID)使用控件ID、控件层次结构和映射规则来创建派生的ClientID。如果javascript关闭,则从两侧进行验证您想在服务器端还是客户端执行此操作?如果您想要客户端,您不需要使用
onClick
,因为它会在代码后面查找函数并运行该函数;而是使用
onClientClick
,将jquery设置为具有名称的函数并调用该名称。如果您确实需要服务器端,请向我们显示服务器端代码。
<asp:Button ID="BtnSend" runat="server" Text="SEND" 
            onClientClick="BtnSend_Click" CssClass="pressbutton2" Height="36px" ClientIDMode="Static" />
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:Button ID="BtnSend" runat="server" Text="SEND" 
            onClick="BtnSend_Click" CssClass="pressbutton2" Height="36px" ClientIDMode="Static" />