2011-12-13 42 views
0

我有一個黑客入侵的下拉框顯示和隱藏某些div。ASP.net保存隱藏divs狀態

<div id="dropDownMenu" onclick="showMenu();">Option 2 
    <ul> 
    <li onclick="showDiv('div1');">Option 1</li> 
    <li onclick="showDiv('div2');">Option 2</li> 
    <li onclick="showDiv('div3');">Option 3</li> 
    </ul> 
</div> 

這工作完全正常,當點擊我的ASP形式的按鈕,它重新加載頁面默認加載視圖(顯示選項2和DIV2)除外。我怎樣才能讓組合框每次單擊asp窗體按鈕時都不會重置爲默認值?

編輯:好吧,我能夠添加隱藏的領域沒有問題,但我從來沒有使用clientID屬性。幫幫我?

HTML:

<asp:HiddenField ID="currentSelection" value="div2" runat="server" /> 

的javascript:

document.getElementById('currentSelection').value=divName; 

然後我想

showDiv(document.getElementById('currentSelection').value) 

添加到我的按鈕點擊結束。

+0

「選項2」一個變量,在服務器上發佈更改該變量以反映所選選項。 – 2011-12-13 20:39:12

回答

2

將HiddenField添加到頁面,並使showMenu函數在其中寫入當前選項的值。然後在按鈕單擊事件中恢復下拉狀態,從隱藏字段讀取值。基本上你需要一個字面的選項2,並設置它的值。

您將需要獲取用於JS函數的HiddenField的客戶端ID。您需要使用ClientID屬性或將控件的id模式設置爲靜態,但請記住,如果您多次渲染此模板,這會導致問題,因爲會有多個具有相同ID的DOM元素。