ASP.net保存隐藏的div状态

时间:2011-12-13 20:34:01

标签: javascript asp.net

我有一个黑客下拉框,显示并隐藏某些div。

<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) 

到我的按钮点击结束。

1 个答案:

答案 0 :(得分:2)

向页面添加一个HiddenField,并使showMenu函数在其中写入当前选项的值。然后在按钮单击事件中恢复从隐藏字段读取值的下拉列表的状态。基本上你需要一个文字,其中选项2是并设置其值。

您需要获取HiddenField的客户端ID以便在JS函数中使用。您需要使用ClientID属性或将控件的id模式设置为static,但请记住,如果您多次渲染此模板,这将导致问题,因为将有多个具有相同ID的DOM元素。