我有以下控件:
<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‘。
感谢您的帮助/建议。
发布于 2010-09-02 02:18:43
如果将服务器端的visible属性设置为false,则根本不会在客户端呈现控件。这也是为什么您会得到textbox1错误消息的原因。取而代之的是:
<asp:TextBox id="textbox1" ... style="display:none" />然后该元素被呈现,但被隐藏。那么这应该是可行的。
function showBox() {
var theControl = document.getElementById("<%= textbox1.ClientID %>");
theControl.style.display = "";
}来展示它。
发布于 2010-09-02 02:20:48
onclick将按钮绑定到服务器端方法。使用普通的html按钮或使用asp:按钮上的OnClientClick。此外,在服务器上的文本框上设置visible false甚至不会重新渲染控件,首先尝试通过将css设置为display none来隐藏它。
https://stackoverflow.com/questions/3620912
复制相似问题