问题描述
我在一个页面中的一个客户端按钮JS来控制一个div1的隐藏问题是,只要我在页面上点击任何一个服务器端控件,也就是产生了回发,那这个div1就总是会显示?而不管你前面是不是点了隐藏。请问怎么着手解决?
解决方案
解决方案二:
自己顶一下
解决方案三:
让div变成服务器标记,为它加runat属性记住div的状态就可以了
解决方案四:
再自己顶一下!
解决方案五:
引用2楼zdjray的回复:
让div变成服务器标记,为它加runat属性记住div的状态就可以了
一般不允许这样做的吧.我有一个办法.只要是div里面的数据是固定(静态的)在后台publicstringdiv="...";
<%=div%>然后在后台控制就好了
解决方案六:
看来是无人能解了
解决方案七:
HTML控件不是一样可以实现,控件DIV的div.style.display不就行了,
解决方案八:
.xml<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title>无标题页</title></head><body><formid="form1"runat="server"><div><divstyle="border:solid1pxorange"id="div1">iwanttohidethisdiv,doesitokay?!</div><buttononclick="hideDiv();returnfalse;">hidetheabovediv</button><inputtype="hidden"id="hdn1"runat="server"/><asp:ButtonID="Button1"runat="server"Text="postback"onclick="Button1_Click"/></div></form><scripttype="text/javascript">varoHdn=document.getElementById("hdn1");varoDiv=document.getElementById("div1");functionhideDiv(){oDiv.style.display="none";oHdn.value="1";}(function(){if(oHdn.value=="1"){oDiv.style.display="none";alert("dd");}else{alert(oHdn.value);}})();</script></body></html>
.csusingSystem;usingSystem.Configuration;usingSystem.Data;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.HtmlControls;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Xml.Linq;publicpartialclass_Default:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){}protectedvoidButton1_Click(objectsender,EventArgse){Response.Write("thepagehasbeenpostbacked.");}}
解决方案九:
不好意思,忘了将调试的擦除了,下面更正。<scripttype="text/javascript">varoHdn=document.getElementById("hdn1");varoDiv=document.getElementById("div1");functionhideDiv(){oDiv.style.display="none";oHdn.value="1";}(function(){if(oHdn.value=="1")oDiv.style.display="none";})();</script>