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

ASP.NET - preserve style of HTML element after postback

本文关键字:HTML 元素 样式 保留 NET- ASP      更新时间:2023-09-26

我曾长期中断ASP.NET开发。

我在另一个元素的onclick函数上有一个div,它由javascript函数切换。

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

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

您可以使用隐藏字段(控件),并在更改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);
});
});

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

ASP.NET Webforms中常用的方法(破解)是将动态客户端数据持久化到hidden输入字段中,如:

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

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