2010-01-03 80 views
6

我有一个ASP.NET文本控制“FROM日期”,其Visible属性设置为false,但我想一个客户端JavaScript可以使用CSS属性ASP.NET的控制与可见= false不能在JavaScript中使用?

element1.style.display = "none"; // hides the element 
element1.style.display = ""; // shows the element 

切换可见性属性,但是当我尝试得到的文本框,我得到空的

var element1 = document.getElementById("FromDate"); 

当我试着使用visble相同的代码=真为上“没有fromdate” ASP.NET控件的默认,它的作品(虽然这不是我需要的行为)

任何想法?

回答

13

如果要隐藏此控件,您可以尝试CSS这样的:

<asp:somecontrol id="FromDate" style="display:none" /> 

我想隐藏控制与CSS更容易理解。

+2

from code behind:somecontrol.Style(“display”)=“none” – 2013-02-05 15:38:41

17

当您将Visible = false设置为控件时,它不会呈现。这意味着没有该控件发送到页面的HTML表示形式。仅设置样式。

您可以设置样式为显示:像这样没有从服务器端代码:

FromDate.Style.Add(HtmlTextWriterStyle.Display, "none") 
+0

可见的事件是否可以被调用?询问安全问题。 – 2011-11-03 09:42:11

+0

@Ufuk:什么样的事件? JavaScript事件不能被调用,因为客户端上没有任何东西。服务器端事件仍然可以被调用(尽管可能已经编写了控件,以便在其Visible属性设置为false时不会引发事件)。 – 2011-11-03 19:02:45

+0

服务器端事件像点击按钮。如果有人用回发混乱,他们能触发这些事件吗? – 2011-11-03 19:07:06

2

相反可见=假,设置它的style.display设置为none的,这样的元素仍然存在于JavaScript来操纵。

相关问题