我正在使用Visual Studio .Net 2003(yeeich)中的旧Web应用程序,我遇到的问题是Checkbox不会将Visibility设置为True。
宣布如下:
Protected WithEvents chkTraining As System.Web.UI.WebControls.CheckBox
和
<asp:CheckBox id="chkTraining" runat="server" Visible="False"></asp:CheckBox>
当我通过以下行调试时:
chkTraining.Visible = True
它过去很好,但是当我在下一行chkTraining.Visible = False
检查这个值时。这可能会发生什么?没有事件发射或其他任何事情发生......这真的让我陷入困境。谢谢你的帮助。
答案 0 :(得分:5)
可能是其容器的可见性设置为false。
答案 1 :(得分:0)
为什么要申报呢?如果你把它放在.aspx页面
<asp:CheckBox id="chkTraining" runat="server" Visible="False"></asp:CheckBox>
使用后面代码中的id访问它...
答案 2 :(得分:0)
你看到你提到了runat =“server”。
因此,当您的页面加载到浏览器(客户端)时,id“chkTraining”会更改为其他内容......这是一个基本的asp.net操作,它会更改服务器控件的ID。
另外,请检查属性部分中的ClientIdMode属性。 如果它是静态的或继承的,你将按照你在代码中提到的那样得到它。
但是如果你使用过任何其他值,比如AutoId,Predictable就可以这样做,
此,
<%=chkTraining.ClientID%>
会给你客户端ID。 获取客户端ID后,您可以使用它来访问该控件的属性。 例如,
var chk = document.getElementById('<%=chkTraining.ClientID%>');
if (chk.checked == true) {
alert("checked");
}
else {
alert("unchecked");
}