2010-01-03 28 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來操縱。

相關問題