我有以下控件:
<asp:TextBox ID="textbox1" runat="server" Width="95px" MaxLength="6" />
我希望在页面加载时隐藏/隐藏,并在单击按钮/运行一些javascript而不重新加载页面时显示文本框。
这是我当前的按钮:
<asp:Button ID="cmdShowBox" runat="server" Text="Show Button" onclick="showBox(); return false" />
最后这是我目前的javascript函数:
function showBox() {
var theControl = document.getElementById("<%= textbox1.ClientID %>");
theControl.style.display = "none";
}
我开始只是在加载时显示框,然后尝试单击按钮使其隐藏,但我甚至无法使其工作:(当我运行代码,因为它在上面我得到一个服务器错误,说
编译器错误消息:BC30451:未声明名称“textbox1”。
感谢您提供任何帮助/建议。
答案 0 :(得分:4)
onclick on按钮绑定到服务器端方法。 使用普通的html按钮或在asp:按钮上使用OnClientClick。在服务器上的文本框上设置可见的假,甚至不会通过设置显示无的css来首先重新启动控件。
答案 1 :(得分:1)
如果要将服务器端可见属性设置为false,则不会在客户端上呈现控件。这也是为什么你可以得到textbox1错误消息。而是做:
<asp:TextBox id="textbox1" ... style="display:none" />
然后这个元素被渲染,但是被隐藏了。那应该可行。
function showBox() {
var theControl = document.getElementById("<%= textbox1.ClientID %>");
theControl.style.display = "";
}
显示它。