2013-05-19 39 views
2

如何使用javascript顯示<asp:Panel>使用javascript將面板設置爲可見

我做了以下,但得到一個錯誤(無法讀取空的財產風格)

<asp:Panel runat="server" id="panNonAfricanCountries" Visible="false"> 

var panNonAfricaDropDown = document.getElementById("panNonAfricanCountries") 
if (dropDownFirst == "Yes") { 
    panNonAfricaDropDown.style.visibility = "visible"; 
} 
+0

確保您的js代碼運行後,才文檔加載 – Anoop

+1

你試過'的document.getElementById(「<%= panNonAfricanCountries.ClientID%>」 )'?或者將'ClientIDMode =「Static」'添加到控件? – nnnnnn

回答

3

Visible="false"上一個asp.net控制有作爲的結果不顯示頁面上的控制

你試圖在這裏做的是呈現它,但與CSS風格讓它從用戶隱藏,直到使用JavaScript顯示它。要將不使用Visible的檔案歸檔,但要將樣式或CSS設置爲Panel。

<asp:Panel ID="PanelId" runat="server" Visible="true" style="visibility:hidden" > 
Some Content here...  
</asp:Panel> 

asp.Panel是呈現爲div,併爲您的網頁HTML可能爲:

<div id="PanelId" style="visibility:hidden"> 
Some Content here...  
</div> 

和我說,可能是因爲我們不知道肯定不ID是如何呈現。爲了得到它,我們使用PanelId.ClientID和最終的JavaScript代碼將是:

var panNonAfricaDropDown = document.getElementById("<%=PanelId.ClientID%>"); 
if (dropDownFirst == "Yes" && panNonAfricaDropDown) { 
    panNonAfricaDropDown.style.visibility = "visible"; 
}