ASP.NET - 在回发后保留HTML元素的样式

时间:2014-10-15 10:10:48

标签: javascript asp.net viewstate

我从ASP.NET开发中长期休息。

我有一个div,通过javascript函数切换到另一个元素的onclick函数。

 <div id="InsDetail" style="display: none">

回发后,div的状态将恢复为折叠状态。在回发之间保留这个div的风格最简单的方法是什么? (可能是Viewstate?)

2 个答案:

答案 0 :(得分:3)

当更改div的可见性时,您可以使用隐藏字段(控件)并更新状态(例如1 =可见0 =隐藏)。接下来,在加载页面事件中恢复状态。

更多

aspx文件:

  <input runat="server" type="hidden" class="stateDiv" id='stateDiv' />

js文件或页面:

$(function(){
 var visibility = $(".stateDiv").val();
 if(visibility== 1)
   $("#InsDetail").show()
 else
   $("#InsDetail").hide();

 $(your_botton).click(function(){
 //toggle div
  if ($("#InsDetail").is(":visible"))
     $(".stateDiv").val(1);
  else
    $(".stateDiv").val(0);
});

});

通过这种方式,您可以控制状态也是服务器端

答案 1 :(得分:1)

ASP.NET Webforms中的常用方法(hack)是将动态客户端数据保存在hidden输入字段中,如:

<input type="hidden" id="persistedData" value="someValue" runat="server" />

然后,您可以使用此信息正确设置服务器上的样式,并在回发后正确呈现样式。