我有一个ASP.NET文本控件“FromDate”,其visible属性设置为false,但我希望客户端javascript能够使用CSS属性切换visibility属性
element1.style.display = "none"; // hides the element
element1.style.display = ""; // shows the element
但是当我尝试获取文本框时,我在
上得到null var element1 = document.getElementById("FromDate");
当我尝试将相同的代码与visble = true作为“FromDate”ASP.NET控件的默认值时,它可以工作(虽然这不是我需要的行为)
有什么想法吗?
答案 0 :(得分:17)
将Visible = false设置为控件时,不会呈现它。这意味着没有发送到页面的控件的HTML表示。仅设置样式。
您可以将样式设置为display:none,来自服务器端代码,如下所示:
FromDate.Style.Add(HtmlTextWriterStyle.Display, "none")
答案 1 :(得分:13)
如果你想隐藏这个控件,你可以尝试这样的CSS:
<asp:somecontrol id="FromDate" style="display:none" />
我认为用CSS隐藏控件更容易理解。
答案 2 :(得分:2)
不是设置Visible = false,而是将其style.display设置为none,这样该元素仍然可供JavaScript操作。