make them server controls,  they will normally keep the state, for example<input type=text runat=server id='txt'><input type=hidden runat=server id='hid'>

解决方案 »

  1.   

    注:是我用JS向DIV中innerHTML的一些数据。
      

  2.   

    是的,。server控件是默认保存状态的,viewstate
      

  3.   

    you need to use form elements to keep the state, when you 用JS向DIV中innerHTML的一些数据, also save the html into a hidden input control<input type=hidden id=hid runat=server />document.forms[0].elements["hid"].value = YourDiv.innerHTML;and reload your div with the value in this control upon postbackfunction window.onload()
    {
      YourDiv.innerHTML= document.forms[0].elements["hid"].value;
    }
      

  4.   

    试试在Page_Load里加上这个判断
    if (!IsPostBack)
    {
        //loadData......}
      

  5.   

    嗯,我给你的解决方案有两个:
      1、假设你的innerHTML是固定的,或者页面一加载就设定的。那么这样来:
    <body onload="your_function()">
    <script language="javascript">
    function your_function
    {
      ……
    }
      2、假设你的innerHTML是后来加入的,那么在内容不多的前提条件下,可以将这些内容用js写入cookie中——你需要认真参考javascript对cookie操作的知识。这个解决方案仅限于你的innerHTML不大的情况下;  思归大哥给的办法也不错,楼主可以多多参考。
      

  6.   

    不好意思,再顶一下,还没解决。我在自定义控件中创建了一个HIDDEN。但,每次与服务器交互。这个HIDDEN同样也要初始化。值还是保存不住啊。还有啥方法么?注: 在WEB自定义控件内解决。
      

  7.   

    但是inputText 却没被请空,奇怪
      

  8.   

    自己使用viewstate来保持hidden控件的值。
      

  9.   

    再顶。我想还是用 viewstate 来实现。
      

  10.   

    不顶了。解决了。override SaveViewState 和 LoadViewState