【问题标题】:I can't click on an ASP:Button if it is hidden using jQuery?如果使用 jQuery 隐藏了 ASP:Button,我无法单击它?
【发布时间】:2011-03-11 17:24:00
【问题描述】:

我发现 StackOverFlow 的答案和其他资源说你可以点击一个隐藏的 ASP:Button with jQuery by

$("#<%=HiddenButton.ClientID%>").click();

$("#<%=HiddenButton.ClientID%>").trigger("click");

但是,除非按钮为 Visible="true"

,否则这些都不适合我

这是按钮:

<asp:Button ID="loadCustomerContacts" runat="server" OnClick="loadCustomerContacts_Click" visible="false" />"

【问题讨论】:

    标签: asp.net webforms


    【解决方案1】:

    如果您将Visible 属性设置为false;通常在 .net 中,处理页面后控件不会在 HTML 输出中呈现。因此就jQuery而言,按钮是不存在的。

    您可以在页面上查看源代码来验证这一点。

    如果你想这样做,而不是使用 Visible 属性,你可以这样做:

    <asp:Button ID="myButton" runat="server" style="visibility: hidden; display: none;" />
    

    或者您可以为其分配一个隐藏它的 CSS 类。

    【讨论】:

      【解决方案2】:

      你需要给按钮添加 style="display:none" 而不是 Visible=False

      【讨论】:

        【解决方案3】:

        编码 Gorilla 是对的,但是,您可以做的不是设置 Visible 属性,而是将其添加到标签中:

        style="display:none;"
        

        这将在 CSS 中隐藏按钮,而不是不呈现页面。

        【讨论】:

          【解决方案4】:

          当 Visible 为 false 时,按钮不会在浏览器中呈现。如果不在浏览器中,则无法点击。而不是使用 Visible 属性使用 CssClass 来隐藏它。在样式表中创建一个类

          .Hidden {
              display:none;
          }
          

          然后使用

          loadCustomerContacts.CssClass = "Hidden"
          

          【讨论】:

            【解决方案5】:

            这可能是因为按钮从未呈现到页面标记中,尽管它存在于页面对象的控件层次结构中。客户端 JS 代码依赖于现有标记,与 ASP 页面模型中可用的内容无关。

            如果 Visible=false 不起作用,您是否尝试过添加类似“display=none;”的内容按钮的样式?如果按钮实际在页面上但不可见,则您的 Javascript 方法可以工作。

            【讨论】:

              猜你喜欢
              • 2011-06-17
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-03-29
              • 2011-02-01
              • 1970-01-01
              相关资源
              最近更新 更多