基本结构若下图,id=2的DIV本来是隐藏的,一点button,它就显示出来,同时把id=3的DIV隐藏起来,问题是现在,网页只要一回传,页面又会变回点button之前的样子。
<div id=1>button 一点button,把id=2的DIV显示出来,把id=3的DIV隐藏起来  <div id=2></div> 开始时隐藏的
<div id=3></div> 开始时显示的
</div> 

解决方案 »

  1.   

    网页只要一回传,页面又会变回点button之前的样子。
    这个是什么意思?
      

  2.   

    你需要把你选择的记住,传递到服务器端,如Button_Click里面Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<style>#2{display:block}</style>");
    或者<div id=x2 runat=server></div>
    Button_Click里面
    x2.Style["display"]="block"
    之类的都可以
      

  3.   

    当然是这样。使用轻量级的ajax就是如此。所以你应该预先做出重大选择,二选一:要么使用重量级的UpdatePanel机制来实现ajax。
    要么放弃回发机制,放弃状态,这样才能使用大量轻量级的ajax。
      

  4.   


    如果你做单调的倾向于静态的网页,那么当然可以考虑这样做(你写javascript代码将状态保存到hidden的字段,下一次显示时还要写javascript代码恢复)。但是如果你做web应用程序,其实需要做这种东西的地方成百上千,而且原来用1分钟就修改好的更新改造,现在随便就出很多乱子(因为你还需要一大堆这类javascript代码)。很快就乱套了。所以,原本asp.net的自动管理所有控件的状态的理念是非常伟大的,它可以让你用类似winform的编程体验和方式来编程。只不过最近5、6年ajax已经流行,而asp.net没有将其所有控件提升到轻量级ajax+webservice机制的高度。你只能使用4、5年前发布的UpdatePanel机制,或者干脆就放弃asp.net状态机制(不负哦放弃了它,其实你更应该使用php等简单的动态网页开发工具)。
      

  5.   

    你说的很对,那您推荐用那种方式在ASP.NET中实现AJAX,是微软提供的AJAX,还是用JS或者JQUERY