0

有一些这样的代码:

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);

显示:未定义!

寻求帮助。

4

4 回答 4

5

您不能在服务器端将按钮设置为 Visible="false"。那是在您的 ASPX 页面中,您需要将其设置为 Visible="true",否则该按钮不会呈现为 html。

您可以将按钮上的样式属性(或 CssStyle 属性)设置为 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;" />
于 2011-02-02T07:30:50.863 回答
0

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

有关更多信息,请参见:http ://forums.asp.net/p/1522697/3664258.aspx

于 2011-02-02T07:29:03.780 回答
0

btnExcel由于它是服务器端控件,因此将被破坏。

获取损坏的 id 为document.getElementByid(<%=btnExcel.ClientID%>)

于 2011-02-02T07:30:14.307 回答
0

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

于 2011-02-02T07:27:52.597 回答