如何将hide事件添加到webform中的按钮?

时间:2016-06-09 14:20:08

标签: c# jquery html asp.net

我试图通过单击按钮来隐藏div,但它会隐藏它一秒钟并返回div(看起来像刷新页面)。这是我的HTML代码:

<div id="page">
<p>First Paragraph</p>
<p>Second Paragraph</p>
<p>Yet one more Paragraph</p>
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>

这是我的jquery代码:

    $(document).ready(function () {
        $("#Button1").click(function () {
            $("#page").hide();
        });
    });

3 个答案:

答案 0 :(得分:0)

Rick在回答中说了什么,你需要在按钮上添加Type="Button"

<Button ID="Button1" type="button">Button</button>

默认按钮类型为submit,这将导致页面刷新。并且,正如Rick所说,ASP按钮也会提交。因此,您需要使用HTML按钮并设置type="button"属性。

来自MDN

  

按钮的类型。可能的值有:

     

提交:按钮将表单数据提交给服务器。 如果属性未指定 d或属性,则为默认值   动态更改为空值或无效值。

     

重置:该按钮将所有控件重置为初始值。

     

按钮:该按钮没有默认行为。它可以具有与元素事件相关联的客户端脚本   事件发生时触发。

答案 1 :(得分:0)

使用runat =“server”的ASP按钮会导致服务器回发。如果您不打算从服务器上执行该单击操作,只需使用客户端按钮,如:

<button id="Button1" type="button">Button</button>

答案 2 :(得分:0)

在按钮上将客户端ID模式设置为静态,然后它将起作用。它没有用,因为没有指定,所以名称正在改变。

<asp:Button ID="Button1" ClientIDMode ="Static" runat="server" Text="Button" />

如果你想禁用回发只是隐藏一些东西而不处理任何东西,那么只使用客户端按钮是最好的选择。