如果使用jQuery隐藏它,我无法点击ASP:Button?

时间:2011-03-11 17:24:00

标签: asp.net webforms

我找到了StackOverFlow的答案和其他资源,说你可以点击隐藏的ASP:按钮用jQuery

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

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

但是,这些都不适用于我,除非按钮是Visible =“true”

这是按钮:

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

5 个答案:

答案 0 :(得分:17)

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

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

如果您想这样做,而不是使用Visible属性,您可以执行以下操作:

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

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

答案 1 :(得分:2)

您需要在按钮上添加style =“display:none”而不是Visible = False

答案 2 :(得分:2)

编码大猩猩是正确的,但是,您可以做的不是设置Visible属性,而是将其添加到标记中:

style="display:none;"

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

答案 3 :(得分:1)

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

.Hidden {
    display:none;
}

然后使用

loadCustomerContacts.CssClass = "Hidden"

答案 4 :(得分:0)

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

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