页面有两个listbox,一个是后台数据绑定的,另一个是我在客户端用js从第一个里面插入的
当我点击按钮回传后台取不到第二个listbox的数据。请问如何解决?
希望大哥大姐们能起的早点

解决方案 »

  1.   

    第二个listbox是第一个选中项动态生成的吗?
      

  2.   

    用ajax吧,把第二个listbox中的内容遍历成xml,提交服务器端页处理,服务器页得到这个xml分解得到数据
      

  3.   

    把js生成的那个listbox的用js值赋值给一个HiddenField控件,服务器端就可以得到这个值
      

  4.   

    这个方法我也想过......
    google了下 很多人在问同样的问题....
    就没有人用重写回传数据接口和viewstate的什么方法给大家说下这样的解决办法吗?
      

  5.   

    这个问题很简单 
    你的窗体只要是一个post的提交  就会把表单中的数据全部提交给服务器  这个是毫无置疑的  你取不到用js生成的listbox  是因为这个listbox不是服务器控件你可以通过下面的方式获得,我写了一些代码 你看看
    function Button1_onclick() {
    var select=document.createElement("select");
    select.name="testselect";
    select.setAttribute("multiple","multiple");
    var opt=document.createElement("option");
    opt.Value=2;
    opt.innerText=2;
    select.appendChild(opt);
    var opt1=document.createElement("option");
    opt1.Value=3;
    opt1.innerText=3;
    select.appendChild(opt1);
    var ok=document.getElementById("ok");
    ok.appendChild(select);
    }
    这应该是你用js动态创建的listbox  注意上面的select一定要设置name属性后台代码中就可以用Request.Form["testselect"]来获得你选中的值   我上面的代码设置了多选  这样的话 你可以获得用逗号分隔开的值的字符串 好了就到这里了  希望对你有所帮助!最后在重复一遍  只要是form中的元素  你post的提交  就可以获得form中的所有元素
      

  6.   

    由于第二个ListBox是用JS实现的,所以每次回传后,值和内容会消失。
    建议后台调用JS脚本,或者都用后台代码来实现
      

  7.   

    用ajax吧,把第二个listbox中的内容遍历成xml,提交服务器端页处理,服务器页得到这个xml分解得到数据