有一些像这样的代码:
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!
寻求帮助。
答案 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%>)