我有一个标签和一个名为“菜单”的div,目前看不见。当用户点击标签时,我希望这样。它会使div可见。我想通过javascript完成它,如何通过javascript显示控件?
答案 0 :(得分:4)
首先,如果要在客户端访问控件,则必须将它们呈现为html。使用Control.Visible时,它不会在客户端上呈现,只能在服务器端访问。因此,您必须使用CSS来切换它在客户端的可见性。
显示div:
document.getElementById('menu').style.display = 'inherit';
您可以隐藏它:
document.getElementById('menu').style.display = 'none';
你应该记住,当服务器端控件的内部位于另一个NamingContainer内而不是页面时(例如,在GridView或UserControl中),它可能会发生变化。因此,您应该使用Control.ClientID来获取将从ASP.Net生成的正确ID:
所以这更好:
document.getElementById('<%= menu.ClientID %>').style.display = 'none';
在ASP.Net 4.0中,可以自定义ClientID。有关进一步的信息: