jquery asp.net按钮可见性

时间:2011-02-02 07:23:08

标签: jquery asp.net visibility aspbutton

有一些像这样的代码:

if ( bValid ) { 
      $( this ).dialog( "close" );
$("#btnExcel").show(); }

和.aspx看起来像:

  <form id="form1" runat="server">
                    <input id="inpHide" type="hidden" runat="server" />
                    <asp:Button ID="btnExcel" runat="server" Text="Excel" AccessKey="E" BorderWidth="0px"
                        OnClick="btnExcel_Click" ToolTip="Excel" Visible="false" />
                    </form>

`bValid` is some part of code

为什么这不起作用? 可以做些什么来解决它。 使按钮可见?

可能无法访问,因为:

var button = $('#btnExcel')[0]; 
                        alert(button);

显示:undefined!

寻求帮助。

4 个答案:

答案 0 :(得分:5)

您不能在服务器端将按钮设为Visible =“false”。那是在你的ASPX页面中你需要让它Visible =“true”,因为否则按钮不会呈现为html。

您可以在按钮上将样式attirbute(或CssStyle attirbute)设置为style =“display:none;”事情会有效

<asp:Button ID="btnExcel" runat="server" Text="Excel" AccessKey="E" BorderWidth="0px"
                        OnClick="btnExcel_Click" ToolTip="Excel" Visible="true" style="display:none;" />

答案 1 :(得分:0)

您可以将按钮的显示设置为无?

答案 2 :(得分:0)

这是因为ASP.Net生成的服务器控件的ID在浏览器中是不同的。在浏览器中查看HTML源代码,找到正确的控件ID并在jQuery代码中使用它。您还可以尝试ASP.Net的ClientID功能

有关详情,请参阅此处:http://forums.asp.net/p/1522697/3664258.aspx

答案 3 :(得分:0)

btnExcel因服务器端控制而受损。

获取错位的ID为document.getElementByid(<%=btnExcel.ClientID%>)