页面上html控件select,运行在server端,
由于功能上需要,select里的项由客户端js脚本生成, 
但是当页面回发以后select里的项变空了,
已经设置为运行在server端了,为何保持不了状态,烦高手解惑

解决方案 »

  1.   

    因为server上没有select里的项,所以自然也不会选中任何东西。
    只有server在postback后同时生成了item,才能保持状态。
    要么就用纯js写。
      

  2.   

    再SERVER端只能处理由Server端设置的数据的。解决就需要另劈它途了。
      

  3.   

    回发后你的客户端是不是又重新给select赋值了。
      

  4.   

    为什么不用WebControl的DropDownList,设置属性AutoPostBack=true
      

  5.   

    因为select里的项由客户端生成(功能上需要这样实现,没办法)
    然后有一个保存按钮,要把select里的每一项都插入数据库里有没好的办法可以解决
      

  6.   

    如果是一个html的text文本框,运行在server端,
    同时也在页面上放一个按钮,当在文本框中输入内容时,点击按钮,页面产生回发,但是回发后text框中的内容并没有消失,还是原来输入的内容。那么同理select里的项客户端生成,点击按钮回发,内容却消失了呢?有什么办法可以解决呢?
      

  7.   

    我认为js能完成的C#也可以完成,试试能否修改一下你的处理方式。
    或者你用Session保存其中的值,回发时重给select给值,然后把你的Session中的值再找到你看一下页面刷新或回退时是否清空了其值,试试吧也是学习中
      

  8.   

    我注意到了问题所在了,我的页面是这样的,有一个用js生成的带复选框的树,
    当页面刷新的时候,树会回到原来的样子。那么点击按钮导致回发,就会刷新页面,则就会重新执行js脚本,那么树又回到原来样子,
    这样就导致了在select里的值为空了。好像没解决办法???
      

  9.   

    用<input type=hidden runat=server>标记,客户端生成select时,用js赋给那个input,服务器端读取input
      

  10.   

    把select里的项写到hidden中,js脚本怎么写,我js实在是很不熟悉。是把每一项写入hidden时,用逗号隔开吧,
      

  11.   

    你把你的问题详细说一下 , select 的项是怎么来的 , 要实现什么功能 我来回答你
      

  12.   

    我也碰到这个问题,select是html控件 我怎么在asp.net的服务器端得到他被选择的值